IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

comment formuler cette requete ?


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut comment formuler cette requete ?
    Bonjour,
    voilà mon problème : j'aimerais récupérer en une requête "légère" une liste d'enregistrements où l'utilisateur n'a pas encore noté un item :

    Table items :
    item_id

    Table notes :
    item_id, user_id

    Comment récupérer une liste d'item_id depuis la table items dont il n'existe pas d'enregistrement dans la table notes pour un user_id spécifique ?

    Ma base est MySQL 5.

    Si ça n'est pas possible en une seule requête, auriez-vous des conseils à me formuler (passer par une table temporaire, réorganisation des données... ?)

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Pour le user 6 par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT I.item_id 
    FROM items I
      LEFT JOIN notes N ON I.item_id = N.item_id AND N.user_id = 6
    WHERE N.item_id IS NULL
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Antoun
    Pour le user 6 par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT I.item_id 
    FROM items I
      LEFT JOIN notes N ON I.item_id = N.item_id AND N.user_id = 6
    WHERE N.item_id IS NULL
    Je ne savais pas qu'on pouvait ajouter une condition à une jointure, du coup j'essayais dans la clause WHERE.
    J'ai appris quelque chose, merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Je ne vois pas comment faire cette requete
    Par figatelliSTI dans le forum Langage SQL
    Réponses: 5
    Dernier message: 14/08/2008, 11h56
  2. comment optimiser cette requete Postgres?
    Par medsine dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/05/2008, 14h19
  3. [Zend_Db] Comment executer cette requete?
    Par toumai dans le forum Zend_Db
    Réponses: 2
    Dernier message: 24/03/2008, 12h55
  4. comment effectuer cette requete
    Par gforce dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/11/2006, 15h49
  5. Comment formuler une requête alter table ?
    Par cjo dans le forum Paradox
    Réponses: 2
    Dernier message: 29/12/2005, 03h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo