Reputation: 15
Here is my tables:
id referencePerson1ID referencePerson2ID referencePerson3ID
1 1 2 3
T2 referencePerson:
id name
1 Peter
2 John
3 Mary
I want to get the following result when I choose T1 id =1
:
id referencePerson1 referencePerson2 referencePerson3
1 Peter John Mary
How can I do that? Thanks
Upvotes: 1
Views: 50
Reputation: 17136
This is one basic way to do things:
SELECT T1.id, P1.name, P2.name, p3.name
FROM record T1 LEFT JOIN referencePerson P1
ON T1.referencePerson1ID=P1.id
LEFT JOIN referencePerson P2
ON T1.referencePerson2ID=P2.id
LEFT JOIN referencePerson P3
ON T1.referencePerson3ID=P3.id
Another way when number of persons is unknown can be done using a PIVOT
Upvotes: 1
Reputation: 89305
You can do that with three times JOIN :
SELECT t1.id, t21.name, t22.name, t23.name
FROM T1
INNER JOIN T2 t21 ON t21.id = T1.referencePerson1ID
INNER JOIN T2 t22 ON t22.id = T1.referencePerson2ID
INNER JOIN T2 t23 ON t23.id = T1.referencePerson3ID
WHERE T1.id = 1
Upvotes: 0