正确的SQL数据表查询编写

sus*_*ani 0 sql datatable

我有一个表t1有三列id,c1,c2,c3,带有一些数字.我有一个不同的表t2,其中包含id,name,其中id中的值是c1,c2,c3的值.

我无法写一个查询,我可以得到结果

id | c1的名字 c2的名字 c3的名字

有人可以帮忙吗

And*_*mar 6

一种方法是编写子查询以检索每列的名称:

select  t1.id
,       (select name from t2 where t2.id = t1.c1) as C1Name
,       (select name from t2 where t2.id = t1.c2) as C2Name
,       (select name from t2 where t2.id = t1.c3) as C3Name
from    t1
Run Code Online (Sandbox Code Playgroud)

或者您可以使用tripe连接:

select  t1.id
,       t2_1.name as C1Name
,       t2_2.name as C2Name
,       t2_3.name as C3Name
from    t1
join    t2 as t2_1 on t1.c1 = t2_1.id
join    t2 as t2_2 on t1.c2 = t2_2.id
join    t2 as t2_3 on t1.c3 = t2_3.id
Run Code Online (Sandbox Code Playgroud)