【发布时间】:2022-01-16 20:37:08
【问题描述】:
大家好,我有一个 SQL 查询问题,我一直在尝试解决一些问题,但无法提出正确的查询来执行它。
我想要做的是查看 2 个表。每个表都有一个相互匹配的唯一 ID,然后是与该 ID 关联的名称。但是,OtherTbl 有两个 ID 在同一记录中,而不是像 UserTbl 中那样分开。 p>
用户表:
id | mID | name
---|-------|-------------
5 | 12345 | Bob Barker
6 | 54688 | Steve Jobs
7 | 56999 | Adam Sandler
9 | 53166 | Bill Gates
11 | 87540 | MC Hammer
其他表:
id | leftID | rightID
---------------------
8 | 54688 | 12345
41 | 87540 | 87540
43 | 56999 | 53166
所以我想从上面的 2 个表中得到的是在一起的 2 个用户(leftID 和 rightUD)。输出如下所示:
leftID | rightID | leftName | rightName
-------|---------|--------------|-----------
54688 | 12345 | Steve Jobs | Bob Barker
87540 | 87540 | MC Hammer | MC Hammer
56999 | 53166 | Adam Sandler | Bill Gates
我知道这是可以做到的——我只是想不出办法让它发挥作用!
我尝试了传统的内部连接
SELECT
ut.leftID,
ut.rightID,
ot.leftName
FROM
OtherTbl as ot
INNER JOIN
UserTbl AS ut
ON
ot.leftID = ut.mID
上面的这个查询确实输出了数据,但它不像上面的示例输出那样捆绑在一起。更不用说它留下了右边的用户用户FbID。
一位 SQL 专家会很高兴向我展示我缺少什么(或忘记了能够使用)!
【问题讨论】:
标签: mysql sql mysql-workbench