gameip
gameip

Reputation: 15

combining multiple columns in two tables

Here is my tables:

T1 record:

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

Answers (2)

DhruvJoshi
DhruvJoshi

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

har07
har07

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

Related Questions