2010-03-13 10 views
5

मान लीजिए मुझे लगता है कि हो सकता है एक क्षेत्र के साथ तालिका एक है या तो 1 या 2 ...एसक्यूएल पंक्ति जानकारी के आधार पर विभिन्न तालिकाओं में शामिल होने

मैं कैसे टेबल एक में प्रत्येक पंक्ति के लिए, क्षेत्र है अगर है कि चयन करते हैं 1, तालिका बी के साथ चयन में शामिल हों और यदि फ़ील्ड 2 है, तो तालिका सी के साथ चयन में शामिल हों?

+0

वाह,! स्टैक ओवरव्लो कभी भी सबसे अच्छा ऑनलाइन समुदाय है! धन्यवाद दोस्तों! – xster

उत्तर

8
(
SELECT MyField1, MyField2 FROM A 
INNER JOIN B ON A.Id = B.Id 
AND A.MyField = 1 
) 
UNION 
(
SELECT MyField1, MyField2 FROM A 
INNER JOIN C ON A.Id = C.Id 
AND A.MyField = 2 
) 
+0

अच्छा जवाब इलेक्ट्रिक बोलीभाषा – Enrique

0

Somethine इस तरह निश्चित रूप से काम कर सकते हैं

DECLARE @TableA TABLE(
     ID INT 
) 

DECLARE @TableB TABLE(
     ID INT, 
     Val VARCHAR(50) 
) 

DECLARE @TableC TABLE(
     ID INT, 
     Val VARCHAR(50) 
) 

INSERT INTO @TableA SELECT 1 
INSERT INTO @TableA SELECT 2 

INSERT INTO @TableB SELECT 1, 'B' 

INSERT INTO @TableC SELECT 2, 'C' 

SELECT * 
FROM @TableA a INNER JOIN 
     @TableB b ON a.ID = b.ID 
        AND a.ID = 1 
UNION 
SELECT * 
FROM @TableA a INNER JOIN 
     @TableC c ON a.ID = c.ID 
        AND a.ID = 2 
संबंधित मुद्दे

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