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 :

Problème avec left outer join


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut Problème avec left outer join
    Bonjour à tous,
    Voici mon pb :
    j'ai les tables suivantes


    A
    an | bn | nb
    ----------------
    a1 | b1 | nb1
    a1 | b3 | nb2
    a2 | b1 | nb3
    a2 | b2 | nb4

    B
    bn | nom
    ------------
    b1 | nom1
    b2 | nom2
    b3 | nom3


    Je voudrais faire une requête qui me retourne le résultat suivant :


    a1 | b1 | nom1 | nb1
    a1 | b2 | nom2 | null ou 0
    a1 | b3 | nom3 | nb2
    a2 | b1 | nom1 | nb3
    a2 | b2 | nom2 | nb4
    a2 | b3 | nom3 | null ou 0


    Je pensais que la requête suivante fonctionnerait mais ce n'est pas le cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select A.*,B.nom
    FROM B LEFT OUTER JOIN A ON B.bn = A.bn
    Mais cette requête ne me retourne pas les "an" qui n'ont pas de "bn" associés dans la table A.

    Où est mon erreur ? Pouvez-vous m'aider ?

    Merci.
    Julie

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    J'ai trouvé une solution. Voilà la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT C.*, A.* 
    FROM (SELECT A.an, B.bn 
              FROM A,B
              GROUP BY A.an,B.bn) C
    LEFT OUTER JOIN A ON (C.an = A.an) AND (C.bn = B.bn)
    Je ne sais pas si c'est la meilleure manière mais ça marche.

    En espérant que ça puisse aider quelqu'un le moment venu...

    Julie

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

Discussions similaires

  1. Problème avec LEFT OUTER JOIN
    Par Drakkhen72 dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/08/2008, 13h22
  2. problème avec LEFT OUTER JOIN
    Par tofque dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/03/2008, 11h57
  3. Problème de left outer join avec Ibatis
    Par sarsipius dans le forum JDBC
    Réponses: 1
    Dernier message: 28/02/2008, 14h51
  4. Probleme de NULL avec LEFT OUTER JOIN
    Par jiluc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2006, 14h42
  5. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17

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