2010-07-16 22 views
5

मैं निम्नलिखित कोड है:अंदरूनी विशिष्ट आईडी शामिल हों

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 मिलता है। यह इनरर को शामिल करता है tblOrderServiceUnits दो पंक्तियों को दो डुप्लिकेट के साथ लौटाता है। मुझे केवल 2 पंक्तियों को अलग करने की आवश्यकता है। मैं आंतरिक के लिए एक विशिष्ट का उपयोग कैसे करूं केवल अलग ou.id में शामिल हों?

बुरा विवरण के लिए क्षमा करें, लेकिन मूल रूप से मैं सिर्फ कैसे एक अंदरूनी एक अलग सबक्वेरी के साथ शामिल हों काम करेगा, कोई मुझे इस बात का एक उदाहरण मैं वहाँ से यह पता लगा सकता है दे सकता है, तो देखने के लिए कोशिश कर रहा हूँ।

उत्तर

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

+0

अद्यतन पोस्ट। –

संबंधित मुद्दे