2015-03-24 1 views
0

J'ai deux tables et je veux obtenir les données des deux tables.Comment créer une jointure correcte entre deux tables?

CustomerDetails

Id Customer1 Customer2 
1 1   2 
2 2   1 
3 1   3 

CustomerName 

Id Name 
1 a 
2 b 
3 c 

sortie doit être

Id Customer1 Customer2 
1 a   b 
2 b   a 
3 a   c 

J'ai essayé avec jointure mais il ne travaille pour une colonne et non pour les deux.

Comment puis-je obtenir ces données à partir d'une requête sql.

Aidez-moi s'il vous plaît à me le trouver.

Merci

+1

faire une double rejoindre! – jarlh

+0

avez-vous essayé avec deux colonnes dans la clause 'ON' avec' OR'. ce que tu as essayé? –

Répondre

1

utilisation join s

select t1.id,t2.name customer1 ,t3.name customer2 
from customerdetail t1 
join customername t2 on t1.customer1=t2.id 
join customername t3 on t1.customer2=t3.id 
0
SELECT Id, 
     CN1.Name AS Name1, 
     CN2.Name AS Name2 
FROM CustomerDetails CD 
     JOIN CustomerName AS CN1 
      ON CD.Customer1 = CN1.ID 
     JOIN CustomerName AS CN2 
      ON CD.Customer2 = CN2.ID 

je le ferais avec LEFT JOIN car il serait plus sûr. Je ne sais pas si vous n'avez toujours des valeurs pour les Customer1 et Customer2

0

Cela devrait être le travail:

SELECT CD.Id, 
    CN1.Customer1, 
    CN2.Customer2 
FROM CustomerDetails CD 
    JOIN CustomerName AS CN1 
     ON CD.Customer1 = CN1.ID 
    JOIN CustomerName AS CN2 
     ON CD.Customer2 = CN2.ID