Problème de requête à double jointure ... HELP !

Résolu
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009 - 23 juin 2005 à 17:31
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 24 juin 2005 à 20:04
Hello,

Voici mon problème.
J'ai une table "Table_3" avec 3 champs
le premier ID numérique
le deuxième ID2 numérique
le troixième ID3 numérique

j'ai une seconde table qui est "Table_4"
avec 2 champs
le premier ID numérique
le deuxième TX texte.

Sachant qu'il y a deux contraintes d'intégrités qui sont :
Table_3.ID2 = Table_4.ID
et
Table_3.ID3=Table_4.ID

Il y a donc deux jointure entre les deux tables.
Au départ, je réalise un SELECT du TX en relation avec le champs ID_2 telque
select Table_3.ID,Table_4.TX FROM Table_3,Table_4 WHERE Table_3.ID2=Table_4.ID

Jusque la tout est correcte, MAIS ......

J'aimerais pouvoir récupérer le TX en relation avec le champs Table_3.ID3 aussi

Que faire ???? HELP !

vladam
(pour vous servir :) )

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 juin 2005 à 22:47
Salut,

La double jointure est sans doute la solution.



select eBoutiKs_PRODUITS.pro_ref,eBoutiKs_cat1.CAT_TITRE,cat2.CAT_TITRE FROM eBoutiKs_PRODUITS

INNER JOIN eBoutiKs_CATEGORIES as cat1

ON eBoutiKs_PRODUITS.PRO_CAT=cat1.CAT_Id

INNER JOIN eBoutiKs_CATEGORIES as cat2 eBoutiKs_PRODUITS.PRO_CATROOT=cat2.CAT_Id



Voila
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 juin 2005 à 21:00
Salut



select Table_3.ID,Table_4.TX FROM Table_3,Table_4 WHERE Table_3.ID2=Table_4.ID AND Table_3.ID3=Table_4.ID



Ou



select Table_3.ID,Table_4.TX FROM Table_3

INNER JOIN Table_4

ON Table_3.ID2=Table_4.ID AND Table_3.ID3=Table_4.ID



Je pense que ces deux requetes resouds ton probleme



Voila
0
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009
23 juin 2005 à 22:37
Je ne pense pas, car Table_3.ID3 et Table_3.ID4 n'ont pas le même ID, justement.

Voici la vrai requête :
select eBoutiKs_PRODUITS.pro_ref,eBoutiKs_CATEGORIES.CAT_TITRE FROM eBoutiKs_PRODUITS
INNER JOIN eBoutiKs_CATEGORIES
ON eBoutiKs_PRODUITS.PRO_CAT=eBoutiKs_CATEGORIES.CAT_Id AND eBoutiKs_PRODUITS.PRO_CATROOT=eBoutiKs_CATEGORIES.CAT_Id


en fait, les catégories sont classés dans la table : eBoutiKs_CATEGORIES
Un produit ( eBoutiKs_PRODUITS ) possède deux références à la table catégories (eBoutiKs_CATEGORIES) car le produit fait partie de DEUX catégories à la fois.

ce que j'aimerais c'est un select de eBoutiKs_PRODUITS.pro_ref et des deux titre ( eBoutiKs_CATEGORIES.CAT_TITRE ) des deux catégories dont le produit fait partie.

Avec ta requête, il faut que les deux champs ID des catégories soit idem. et ce n'est pas le cas, car il s'agit bien de deux catégories.

HELP :-)

vladam
(pour vous servir :) )
0
cs_vladam Messages postés 216 Date d'inscription dimanche 13 janvier 2002 Statut Modérateur Dernière intervention 7 novembre 2009
24 juin 2005 à 10:46
Merci :-)

la syntaxe exact est :
select eBoutiKs_PRODUITS.pro_ref,cat1.CAT_TITRE,cat2.CAT_TITRE FROM eBoutiKs_PRODUITS
INNER JOIN eBoutiKs_CATEGORIES as cat1
ON eBoutiKs_PRODUITS.PRO_CAT=cat1.CAT_Id
INNER JOIN eBoutiKs_CATEGORIES as cat2
ON eBoutiKs_PRODUITS.PRO_CATROOT=cat2.CAT_Id

THANKS !

vladam
(pour vous servir :) )
0

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

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
24 juin 2005 à 20:04
Excuse pour la syntaxe je l'ai fait de tete par copier coller
0
Rejoignez-nous