gpt4 book ai didi

sql - 相同外键的两列的 INNER JOIN

转载 作者:行者123 更新时间:2023-12-03 22:54:03 25 4
gpt4 key购买 nike

假设我们有两个表:


AID BID1 BID2
-- ---- ----
01 01 02
02 01 03
03 02 01

表结核病
BID Name
--- ----
01 FOO
02 BOO
03 LOO

如果我想返回以下内容:
AID Name1
-- -----
01 FOO
02 FOO
03 BOO

我写了以下内容:
SELECT TA.AID, TB.Name as Name1 
FROM TB
INNER JOIN TA on TB.BID = TA.BID1

但是,我无法弄清楚如何返回对应于 BID1 和 BID2 的 TB.Name。更具体地说,我想返回以下内容:
AID Name1 Name2
-- ----- -----
01 FOO BOO
02 FOO LOO
03 BOO FOO

最佳答案

您可以多次加入:

SELECT TA.AID, tb1.Name AS Name1, tb2.Name AS Name2
FROM TA
LEFT JOIN TB tb1
ON TA.BID1 = tb1.BID
LEFT JOIN TB tb2
ON TA.BID2 = tb2.BID;

注: LEFT OUTER JOIN将确保您始终从 TA 获取所有记录即使没有匹配。

LiveDemo

关于sql - 相同外键的两列的 INNER JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37229557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com