gpt4 book ai didi

sql - 内连接在最后一个连接中有多个 ON 子句

转载 作者:行者123 更新时间:2023-12-04 23:46:29 24 4
gpt4 key购买 nike

我正在维护 OLD sql 数据库,我有一个像这样的 select 子句:

SELECT
[P].[ItemID]
, SUM([p].[OnOrder]) AS [OnOrder]
, [I].[FullName] AS [PartNo]
, [I].[PurchaseDesc] AS [Description]
, [I].[ItemCust3]
FROM @POItems AS [P]
INNER JOIN [tblMakeUseType] AS [MUT] WITH(NOLOCK)
INNER JOIN [ItemInventory] AS [I] WITH(NOLOCK) ON [MUT].[MakeUseTypeID] = [I].[MakeUseTypeID] ON [P].[ItemID] = [I].[NCItemInventoryID]

正如你首先看到的 INNER JOIN没有 ON子句,但在第二个内部连接之后有 ON第一条 INNER JOIN ,我以前从未见过,有什么方法可以进行反向工程并用作tipcal INNER JOIN ?我的意思是每个人都带着他 ON条款?问候

最佳答案

您的查询被解释为:

FROM @POItems [P] INNER JOIN
([tblMakeUseType] [MUT] INNER JOIN
[ItemInventory] [I]
ON [MUT].[MakeUseTypeID] = [I].[MakeUseTypeID]
)
ON [P].[ItemID] = [I].[NCItemInventoryID]

这可以。但是您可以更传统地将其写为:
FROM [tblMakeUseType] [MUT] INNER JOIN
[ItemInventory] [I]
ON [MUT].[MakeUseTypeID] = [I].[MakeUseTypeID] INNER JOIN
@POItems [P]
ON [P].[ItemID] = [I].[NCItemInventoryID]

或者:
FROM @POItems [P] INNER JOIN
[ItemInventory] [I]
ON [P].[ItemID] = [I].[NCItemInventoryID] INNER JOIN
[tblMakeUseType] [MUT]
ON [MUT].[MakeUseTypeID] = [I].[MakeUseTypeID]

表的顺序对于内连接无关紧要,尽管必须在表的别名用于 ON 之前声明表。状况。

关于sql - 内连接在最后一个连接中有多个 ON 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52995430/

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