Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Discussion: Left outer join

  1. #1
    Invité de passage
    Inscrit en
    août 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 5
    Points : 1
    Points
    1

    Par défaut Left outer join

    Bonsoir à tous,

    Veuillez excuser ma stupidité mais vraiment...mon désespoir est grand!
    Alors voilà! je n'arrive pas à faire un left outer join sur ces deux requetes qui marchent bien independamment. que dois je faire? le champ que j'ai en commun sur le resultat final de chacune des requetes c'est le branchcode
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
      select b.branchcode, b.branchname, cp.proddesc
        from branchinfo b, cardprodinfo cp
    group by b.branchcode, b.branchname, cp.proddesc
    order by b.branchcode asc;
     
      Select ci.branchcode, cp.proddesc, count(*)
        from cardinfo ci join cardprodinfo cp on (ci.prodcode=cp.prodcode)
       where ci.cardstatus in ('02','10','12','26') 
    group by ci.branchcode, cp.proddesc;
    Qu'est-ce qui cloche ?

    Merci d'avance.

  2. #2
    Invité de passage
    Inscrit en
    août 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    et voilà en fait ce que j'ecris. mais jai le message d'erreur ci.branchecode invalide identifier

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT b.branchcode, b.branchname, cp.proddesc
    FROM branchinfo b, cardprodinfo cp 
     
    LEFT OUTER JOIN 
     
    (SELECT ci.branchcode,cp.proddesc, count(*)
    FROM cardinfo ci join cardprodinfo cp on (ci.prodcode=cp.prodcode)
    WHERE ci.cardstatus in ('02','10','12','26') 
    GROUP BY ci.branchcode, cp.proddesc) 
     
    ON b.branchcode=ci.branchcode
     
    GROUP BY b.branchcode, b.branchname, cp.proddesc
    ORDER BY b.branchcode asc;

  3. #3
    Membre régulier
    Inscrit en
    décembre 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 140
    Points : 86
    Points
    86

    Par défaut

    Bonjour,

    il faut mettre un alias sur la vue dynamique :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT b.branchcode, b.branchname, cp.proddesc
    FROM branchinfo b, cardprodinfo cp 
    
    LEFT OUTER JOIN 
    
    (SELECT ci.branchcode,cp.proddesc, count(*)
    FROM cardinfo ci join cardprodinfo cp on (ci.prodcode=cp.prodcode)
    WHERE ci.cardstatus in ('02','10','12','26') 
    GROUP BY ci.branchcode, cp.proddesc)  V1
    ON b.branchcode=V1.branchcode
    
    GROUP BY b.branchcode, b.branchname, cp.proddesc
    ORDER BY b.branchcode asc;
    La différence entre la théorie et la pratique, c'est qu'en théorie il n'y a pas de différence entre la théorie et la pratique. En pratique, si.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •