简体   繁体   English

在两个表中合并多个列

[英]combining multiple columns in two tables

Here is my tables: 这是我的桌子:

T1 record: T1记录:

id  referencePerson1ID  referencePerson2ID  referencePerson3ID 

1         1                    2                  3

T2 referencePerson: T2参考人员:

id                     name

1                      Peter
2                      John
3                      Mary

I want to get the following result when I choose T1 id =1 : 当我选择T1 id =1时,我想得到以下结果:

id  referencePerson1  referencePerson2  referencePerson3

1       Peter              John             Mary

How can I do that? 我怎样才能做到这一点? Thanks 谢谢

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 人数未知的另一种方法是使用PIVOT

You can do that with three times JOIN : 您可以通过三次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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM