SELECT sur 2 tables

SELECT sur 2 tables - SQL/NoSQL - Programmation

Marsh Posté le 14-04-2009 à 11:59:59    

'jour prog  [:elmoricq]
Je cale un peu sur une requête et j'aimerais votre avis parce que bon, je suis complètement peaumé alors que ca doit être simple pour un pro en SQL  [:cosmoschtroumpf]

 

En simplifié, j'ai une table:
LINK
----
IDlink(int)
IDfrom (int)
IDto(int)

 


et une table
ELEMENTS
----------
IDelement(int)
name(char)

 

Les FK IDfrom et IDto de LINK font référence à la PK de la table ELEMENTS

 

ce que je voudrais, c'est afficher ma table LINK, mais sous une forme:

 

IDfrom,
name (from),
IDto,
name (to)

 

Mais comme mes 2 FK font ref à la même table, je rame :/
des idées?


Message édité par Ben_be le 14-04-2009 à 12:02:03

---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Marsh Posté le 14-04-2009 à 11:59:59   

Reply

Marsh Posté le 14-04-2009 à 12:06:26    

Un truc dans le genre ...
 
select * from  
ELEMENTS E inner join LINK LT  
on E.IDelement = LT.IDto
inner join LINK LF
on E.IDelement = LF.IDFrom


Message édité par vttman2 le 14-04-2009 à 12:06:56

---------------
il n'y a pas que le VTT dans la vie, il y a le Snowboard aussi ...
Reply

Marsh Posté le 14-04-2009 à 12:25:29    

oui, j'avais essayé sous MySQL mais alors j'introduit comment mes 2 E.name?
Car y'en a 2 (un pour le from, un pour le to)

 

Il me sort un truc "not unique table ELEMENTS" comme erreur aussi (avec une requête comme ca)


Message édité par Ben_be le 14-04-2009 à 12:26:14

---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Marsh Posté le 14-04-2009 à 12:32:35    

Et ça :
 
select a.idfrom,  
(select name from elements b where b.idelement = a.idfrom)
a.idto,
(select name from elements c where c.idelement = a.idto)
from link a
 
Doit y avoir plus propre que ça mais ça devrait fonctionner.


---------------
Instagram - Mon PVT en Australie.
Reply

Marsh Posté le 14-04-2009 à 12:39:42    

voilà, j'ai trouvé [:shay]
Merci les gens.
 
Ils suffisait de faire un double INNER JOIN
 mais en donnant un alias genre
 
...
INNER JOIN
ELEMENTS as TABLEFROM ON TABLEFROM.ID=LINK.IDfrom
INNER JOIN
ELEMENTS as TABLETO ON TABLEFROM.ID=LINK.Ito
 
et rulez


---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Marsh Posté le 14-04-2009 à 14:40:20    

Ben_be a écrit :

voilà, j'ai trouvé [:shay]
Merci les gens.
 
Ils suffisait de faire un double INNER JOIN
 mais en donnant un alias genre
 
...
INNER JOIN
ELEMENTS as TABLEFROM ON TABLEFROM.ID=LINK.IDfrom
INNER JOIN
ELEMENTS as TABLETO ON TABLEFROM.ID=LINK.Ito
 
et rulez


C'est pourtant bien ce qu'avait indiqué vttman2 ! :spamafote:


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 15-04-2009 à 08:34:19    

kao98 a écrit :


C'est pourtant bien ce qu'avait indiqué vttman2 ! :spamafote:


'tain je suis un boulet [:tinostar]
J'ai pas percuté sur ses raccourcis [:ddr555]


---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Sujets relatifs:

Leave a Replay

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