Problème de requête à double jointure ... HELP ! [Résolu]

Signaler
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
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

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

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 :) )
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

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 :) )
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Excuse pour la syntaxe je l'ai fait de tete par copier coller