我有以下代码:
FROM CTE_Order cte
INNER JOIN tblOrders o
ON cte.OrderId = o.Id
INNER JOIN tblOrderUnits ou
ON o.id = ou.OrderId
INNER JOIN tblOrderServiceUnits osu
ON ou.VMSUnitID = osu.UnitId
Run Code Online (Sandbox Code Playgroud)
当我加入ou时,我得到2个相同的单位Id.这使得Inner Join tblOrderServiceUnits返回4行,其中2为重复.我需要它只返回不同的2行.我如何使用不同的内部连接只有不同的ou.id?
对不起的解释很抱歉,但基本上我是jsut试图看看一个带有不同子查询的INNER JOIN如何工作,如果有人可以给我一个例子,我可以从那里弄明白.
Chu*_*ebs 17
INNER JOIN (SELECT DISTINCT * FROM X) Alias
ON Alias.ID = Primary.ID
Run Code Online (Sandbox Code Playgroud)
对于你的例子:
INNER JOIN (SELECT DISTINCT VMSUnitID, OrderId FROM tblOrderUnits) ou
ON o.id = ou.OrderId
Run Code Online (Sandbox Code Playgroud)