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 :

Jointure avec NULL


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Par défaut Jointure avec NULL
    Bonjour,
    Je souhaite faire une jointure entre trois tables de la même base.
    Selon les critères de recherche les tables contiennent ou ne contiennent pas d'enregistrement.
    Je ne souhaite pas que les enregistrements nuls apparaissent dans le résultat.
    Ma requête initiale qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT  *
    FROM table1 t1
    LEFT JOIN table2 t2 ON t2.IdClient = t1.ClientId
    LEFT JOIN table3 t3 ON t3.id = t1.id AND t3.id IS NOT NULL
    WHERE t1.Email =  'xxx.fr'
    AND t1.Doss =  'azerty'
    Même quand t3.id est NULL (donc inexistant le résultat s'affiche)
    Comment faire pour n'avoir que les résultats existants donc pas de résultats NULL ?
    D'avance merci à tous

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Faites des jointures internes (INNER JOIN) et non pas externes.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Par défaut
    Merci pour ta rapide réponse mais j'avais déjà essayé sans succès, la requête me retourne aucun résultat ni aucune erreur d'ailleurs !

    D'autre piste ?

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Un petit exemple de données dans chaque table et du résultat attendu de la requête nous permettrait de t'aider plus efficacement
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Par défaut
    Je te renvoie ceci + tard, en ce moment j'ai une urgence.
    Dsl

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    vous voulez filtrer les lignes qui ne sont ni dans T2, ni dans T3 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT  *
    FROM table1 t1
    LEFT JOIN table2 t2 ON t2.IdClient = t1.ClientId
    LEFT JOIN table3 t3 ON t3.id = t1.id 
    WHERE t1.Email =  'xxx.fr'
    AND t1.Doss =  'azerty'
    AND (t2.id IS NOT NULL OR t3.id IS NOT NULL)

Discussions similaires

  1. Requete select : jointure avec champs null
    Par Tidus159 dans le forum Langage SQL
    Réponses: 13
    Dernier message: 06/06/2008, 13h31
  2. Jointure avec une composante NULL
    Par vmolines dans le forum Langage SQL
    Réponses: 11
    Dernier message: 08/04/2008, 12h30
  3. [EJBQL] Jointure avec un objet null ?
    Par mbouzouita dans le forum Java EE
    Réponses: 5
    Dernier message: 02/08/2007, 14h38
  4. [MySQL 4.1] Count sur jointure avec null
    Par Arnard dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/07/2007, 09h38
  5. [PostgreSQL 8.1] Problème de jointures avec une Fk null
    Par Reward dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/11/2006, 08h25

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