我有一个表t1有三列id,c1,c2,c3,带有一些数字.我有一个不同的表t2,其中包含id,name,其中id中的值是c1,c2,c3的值.
我无法写一个查询,我可以得到结果
id | c1的名字 c2的名字 c3的名字
有人可以帮忙吗
一种方法是编写子查询以检索每列的名称:
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)