2010-07-16 69 views
5

我有以下代碼:INNER JOIN鮮明ID

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 

當我加入了歐我同一單位標識的獲取2。這使得Inner Join tblOrderServiceUnits返回4行,其中2是重複的。我需要它只返回2行是不同的。我如何使用獨特的內部加入不同的ou.id?

對不起,我不好解釋,但基本上我僅僅指剛想看看一個INNER具有鮮明的子查詢該如何加入會的工作,如果有人可以給我,我可以算出它從那裏出來的一個例子。

回答

12
INNER JOIN (SELECT DISTINCT * FROM X) Alias 
ON Alias.ID = Primary.ID 

對於示例:

INNER JOIN (SELECT DISTINCT VMSUnitID, OrderId FROM tblOrderUnits) ou 
ON o.id = ou.OrderId 
+0

所以,如果我需要在OrderUnit選擇不同VMSUnitID聯接我會怎麼做呢? – user380432 2010-07-16 15:30:40

+0

更新後發佈澄清。 – 2010-07-16 16:11:39