jointure double sur une meme table

jointure double sur une meme table - SQL/NoSQL - Programmation

Marsh Posté le 04-10-2006 à 11:44:18    

Bonjour et pardonnez ce titre obscur.
 
je m'explique, j'ai deux tables:
 
membre:
-id
-email
-nom
-...
 
tache:
-idTache
-idSource
-idDestinataire
-...
 
idSource et idDestinataire correspondent tout les deux a un id de la table membre mais je n'arrive en SQL a obtenir:
idTache,nomSource,nomDestinataire
 
Le fait qu'il faille joindre deux fois la table "tache" a "membre" me fait secher sur la question.
 
Merci de m'eclairer :)
 
 

Reply

Marsh Posté le 04-10-2006 à 11:44:18   

Reply

Marsh Posté le 04-10-2006 à 11:48:44    

Salut,  
 
Je ne vois pas pourquoi tu veux faire 2 jointures .... une est amplement suffisant.
Soit par un where table1.key = table2.key (old school) soit par un INNER JOIN table2 on table1.key = table2.key (modern school)
 
Et ensuite tu fais les liaisons que tu veux ...  
 
Quel est l'output que tu cherches à avoir (donne des exemples de valeurs pour les champs) ?


Message édité par ZeBix le 04-10-2006 à 11:49:22
Reply

Marsh Posté le 04-10-2006 à 11:58:14    

ben non justement j'ai tester la methode classique et ca peux pas renseigner les deux champs.
 
voici ce que j'aimerai obtenir en sortie :
idTache,nomSource,nomDestinataire  
 
mais je viens de trouver une solution:
créer deux alias:

SELECT idTache,m1.nom as nomSource,m2.nom as nomDestinataire FROM membre m1,membre m2,tache t
WHERE t.idSource = m1.id  
AND t.idDestinataire = m2.id


 
Il y a peut etre plus simple ?


Message édité par cheesyguest le 04-10-2006 à 11:58:31
Reply

Marsh Posté le 04-10-2006 à 17:01:47    

C'est bien ce qu'il faut faire, et il n'y a pas plus simple :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed