Requete de requetes SLQ ?

Fermé
lemorce Messages postés 32 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 novembre 2003 - 31 oct. 2003 à 11:18
lemorce Messages postés 32 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 novembre 2003 - 5 nov. 2003 à 23:20
Slt,

Je dois afficher dans un tableau des informations se trouvant dans 3 tables MySQL différentes.
Un champs 'ID' se retrouve dans chacune d'elles et représente le même item.
Pour 2 tables, il y a le même nb d'enregistrements mais il peut y en avoir moins pour la 3° et toutes les infos doivent apparaitre dans mon tableau.

Sous access il est possible de faire des requêtes de requêtes qui me permettent d'arriver au résultat voulu mais je n'ai pas réussi en SQL...

Si vous avez une idée je suis preneur.

TKS

5 réponses

effectivement, ça a bien l'air de necessiter une sous-requête ou un outer-join..mais j'connais pasMysql..dsl
0
lemorce Messages postés 32 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 novembre 2003 2
31 oct. 2003 à 12:17
yep,

je teste depuis aujourd'hui différentes jointures mais cela ne fonctionne pas correctement. La condition de jointure ne semble pas être respecté 'IDTable3' != 'IDTable1'

Voici ma requête :

SELECT IDTable1, IDTable2, IDTable3, opt1, opt2, opt3
FROM Table1 INNER JOIN Table2 ON IDTable1=IDTable2
LEFT OUTER JOIN Table3 ON IDTable1=IDTable3

TKS d'avance
0
lemorce Messages postés 32 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 novembre 2003 2
31 oct. 2003 à 14:35
OK OK

ça marche, j'ai trouvé ma requete, en fait celle du dessus fonctionnait mais l'apperçu de la requête me décallait les résultat de 1 colonne...

Donc tout fonctionne avec cette syntaxe :

SELECT IDTable1, IDTable2,IDTable3,opt1,opt2,opt3
FROM Table1
LEFT OUTER JOIN Table2 ON IDTable1=IDTable2
LEFT OUTER JOIN Table3 ON IDTable1=IDTable3

Enjoy
0
bonjour,
mon probleme c'est que j'ai un requete qui affiche le resultats mais elle affiche pas touts les resultats. meme les champs qui sont null je doit afficher les champs equivalent.
merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lemorce Messages postés 32 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 novembre 2003 2
5 nov. 2003 à 23:20
slt,

en fait il faut savoir ou se trouve la table dont les enregistrements 'null' sont à afficher. C'est à dire si elle est à droite ou à gauche de la table initiale.
Par ex :
SELECT IDT1,IDT2
FROM T1, T2
-T2 est à droite de T1-
Cela déterminera la requête à saisir
(LEFT OUTER JOIN ou RIGHT OUTER JOIN)
LEFT pour afficher tous les enregistrements de la table de gauche et RIGHT pour tous ceux de la table de droite.

Voila j'espère avoir été clair, je m'y perd un peu aussi....

Enjoy
0