SQL左连接查询的多个列
问题描述:
我希望参加以下两个表SQL左连接查询的多个列
Table_1_CODE
Code Desc
LC01 Karachi
LC02 Hyderabad
DP01 Account
DP02 Marketing
SH01 Night
SH02 Day
Table_2_DETAILS
Col_1 Col_2 Col_3 Col_4
Mumtaz LC01 DP02 SH01
Sajid LC02 DP01 SH02
Imtiaz LC01 DP02 SH02
我期待的输出为
Name Loc Dept Shift
Mumtaz Karachi Marketing Night
Sajid Hyderabad Account Day
Imtiaz Karachi Marketing Day
我要做到这一点使用SQL
答
请尝试以下查询:
SELECT col_1, t11.description, t12.description, t13.description
FROM Table_2_DETAILS t2 INNER JOIN Table_1_Code t11
ON t11.code = t2.Col_2
INNER JOIN Table_1_Code t12
ON t12.code = t2.col_3
INNER JOIN Table_1_Code t13
ON t13.code = t2.col_4;
我还没有运行查询,所以如果有任何问题,请评论。
答
这就是你想要的。您必须在不同的列上多次连接表1。
SELECT Col_1 AS 'Name',a.[Desc] AS 'Loc',b.[Desc] AS 'Dept',c.[Desc] AS
'Shift'
FROM Table_2
JOIN Table_1 a ON Table_2.Col_2 = a.Code
JOIN Table_1 b ON Table_2.Col_3 = b.Code
JOIN Table_1 c ON Table_2.Col_4 = c.Code
ORDER BY c.[Desc] DESC
GO
+0
非常感谢你先生,谢谢你.... –
+0
欢迎你。我只注意到我有第三列与第一列相同。我更新了查询。 – Jason
加入Table_1_Code几次。 – jarlh