|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 18 ![]() |
Bonjour à tous,
Encore débutant en requête SQL, je fais appel à vos talents ;-) Voilà mon problème : Mes tables : Agenda, Agenda_detail, Contact, Client, Fournisseurs - Certains Agenda ont un Contact mais pas forcement... - Les Contact ont soit un Client soit un Fournisseur Mon But : -Récupérer les lignes Agenda et Agenda_detail selont certains critères : ça, aucun problème....même s'il n'y a pas de Contact. Et quand il y a un contact, me ramener le nom du client ou le nom du fournisseur : Bref quelque chose du genre : SELECT * //(précisés dans ma reqête mais écourté ici) FROM Agenda INNER JOIN Agenda_detail LEFT OUTER JOIN Contact ON Contact.idcontact = Agenda.idcontact //Retourner agenda même sans contact ??? LEFT OUTER JOIN Client ON Contact.idclient = Client.idclient LEFT OUTER JOIN Fournisseur ON Contact.idclient = Fournisseur .idfournisseur WHERE.... Le problème c'est que mes 2 derniers LEFT OUTER JOIN doivent se basent sur Contact et non sur Agenda.... Comment écrire cela ? Après vient nuturement mon WHERE avec mes conditions de dates sur Agenda....mais aucun problème avec cela. Un tout grand merci d'avance Me ramener |
|
|
00
|
|
|
#2 | ||
|
Membre régulier
![]() |
Salut
Moi j'essayerai une sous requetes du genre: Code :
Le oups c que les sous-requetes marchent seulement a partir de MySQL 4.1... PS: ta syntaxe avait l'air pas mal... Tu as qu'en meme verifier avant que ca marchait pas ?? |
||
|
|
00
|
|
|
#3 | |
![]() ![]() Pierre CabocheInscription : octobre 2005 Messages : 2 197 ![]() |
Citation:
__________________
Derniers articles: (SQL Server) Introduction à la gestion des droits (UML) Souplesse et modularité grâce aux Design Patterns (UML) Le Pattern Etat Autres articles... |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 18 ![]() |
Effetctivement.... je suis un peu moins NULL
Je note pour info (même si je ne vous apprendrai pas grand chose : ) SELECT * FROM Agenda INNER JOIN Agenda_detail ON agenda_detail.idagenda = agenda_detail.idagenda LEFT OUTER JOIN (Contact LEFT OUTER JOIN Client ON Contact.idclient = Client.idclient LEFT OUTER JOIN Fournisseur ON Contact.idfournisseur = Fournisseur.idfournisseur) ON Contact.idcontact = Agenda.idcontact WHERE.... Merci pour pour l'attention portée à mon message.... Fred |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com