Jointure entre 2 tables mysql

dj-smoye Messages postés 6 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 28 avril 2006 - 28 avril 2006 à 15:24
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 2 mai 2006 à 13:30
Bonjour tlm,


 


Voilà j'ai un soucis avec la requête ci-dessous:



SELECT
   D1.id_users  AS User1_Id,
   D1.num_obj   AS User1_ObjectId,
   D2.id_users  AS User2_Id,
   D2.num_obj   AS User2_ObjectId

FROM tbl_in C1

INNER JOIN tbl_out D1
ON (C1.num_obj = D1.num_obj)

INNER JOIN tbl_in C2
ON (D1.id_users = C2.id_users)

INNER JOIN tbl_out D2ON ((C2.num_obj D2.num_obj) AND (C1.id_users D2.id_users))

J'ai deux tables avec une structure identique (4 champs), une est pour les objets à donner et l'autre pour les objets recherché. Dans chacune il y a un champ avec le numéro de l'objet et un autre avec l'id de l'utilisateur. Mon but est de comparer ces deux tables et ressortir la liste des objets que par exemple l'utilisateur X pourrait échanger avec l'utilisateur Y mais uniquement si chacun a un objet à donner. Si l'utilisateur X donne un objet et en cherche un autre mais que personne ne cherche l'objet qu'il donne ou ne donne l'objet qu'il cherche alors il ne doit pas y avoir de résultat. Avec cette requête ça me sort bien les comparaisons mais dans les deux sens, c'est à dire que si utilisateur X donne l'objet 3 et cherche le 4 et que l'utilisateur Y donne le 4 et cherche le 3 ça me donnera deux résultats et si chaque utilisateur donne et cherche plus d'un objet ça me retourne chaque possibilité d'échange alors que j'aurais besoin de savoir ce que X peut échanger avec Y sans prendre en compte les inversions d'objets.

Merci d'avance pour votre précieuse aide.

1 réponse

cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
2 mai 2006 à 13:30
En utilisant SELECT DISTINCT ça marche pas??
En fait, j'ai pas tout compris à ce que tu as dis lol
0
Rejoignez-nous