【发布时间】:2023-03-20 15:10:01
【问题描述】:
我有两个如下所示的表:
sMinMax:
PartNo baseID Min Max
11795 1 1 1
11795 5 0 0
11795 6 1 1
01655 65 2 3
vs 股票:
PartNo baseID Qty
11795 1 1
11795 1 1
11795 55 1
我想加入他们,所以我得到一个表格,其中显示了所有 parNo en 基数的所有列,如下所示:
结果:
PartNo baseID Min Max Qty
11795 1 1 1 2
11795 5 0 0 null
11795 6 1 1 null
11795 55 null null 1
01655 65 2 3 null
所以我会在两列上使用完全外连接来执行此操作,但这会产生与左连接所期望的结果相同的结果。我尝试了 1000 次,但这是我最后一次尝试:
SELECT
a.sPart_ID
,a.uRALBase_ID
,a.MinQty
,a.MaxQty
,b.Qty
FROM [RALNHVTST].[dbo].[sMinMax] as a
FULL OUTER JOIN [RALNHVTST].[dbo].[vsStockList] as b
ON a.sPart_ID = b.sPart_ID
AND a.uRALBase_ID = b.uRALBase_ID
WHERE a.sPart_ID IS NOT NULL
AND a.sPart_ID = 1159
ORDER BY a.sPart_ID
但正如我所说,这给了我与 LEFT JOIN 相同的结果。有人知道我做错了什么吗?
【问题讨论】:
-
WHERE子句条件使得FULL OUTER JOIN返回LEFT OUTER JOIN结果。
标签: sql tsql join where-clause outer-join