嗨,我有一个SQL表有两个表,它们在一个单独的表中引用相同的外键两次......类似于
销售表
idSales idClient1 idClient2
1 1 2
Run Code Online (Sandbox Code Playgroud)
客户表
idClient ClientName
1 Bob
2 Mick
Run Code Online (Sandbox Code Playgroud)
我想将SALES表加入CLIENT表并返回如下数据:
idSales idClientClientName1 idClientClientName2
1 Bob Mick
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助SQL吗?我在加入时遇到了模糊的列名错误.
谢谢
您需要基本上将表连接两次,因为表Client上Sales有两列Sales依赖于表Client.
SELECT a.idSales,
b.ClientName ClientName1,
c.ClientName ClientName2
FROM Sales a
INNER JOIN Client b
ON a.idClient1 = b.idClient
INNER JOIN Client c
ON a.idClient2 = c.idClient
Run Code Online (Sandbox Code Playgroud)
要进一步了解联接,请访问以下链接:
但是当其中一列或两列都可以为空时,INNER JOIN不会给你所有记录,Sales因为它只会选择它在另一个表上至少有一个匹配的位置.而是使用LEFT JOIN.
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |