2012-05-21 15 views
5

संभव डुप्लिकेट:
SQL Server: Can I Comma Delimit Multiple Rows Into One Column?मैं SQL सर्वर में अल्पविराम-सीमित सूची में एकाधिक पंक्तियों को कैसे जोड़ सकता हूं?

मैं टेबल एक्स (X_ID, X_Name) है 1 एम टेबल वाई के साथ (Y_ID, Y_Value)

टेबल एक्स है:

X_ID X_Name 
---- ------ 
12  foo 
14  foo2 
16  foo3 

तालिका वाई:

X_ID Y_Value 
---- ------- 
12  A 
12  B 
14  C 
14  D 
14  E 
16  F 
16  G 

टी-एसक्यूएल का उपयोग करके निम्नलिखित परिणाम कैसे प्राप्त करें?

X_ID X_Name Y_Value 
---- ------ ------ 
12  foo  A,B 
14  foo2  C,D,E 
16  foo3  F,G 

धन्यवाद

उत्तर

14
SELECT X.X_ID, X.X_Name, Y_Value = STUFF((SELECT ',' + Y_Value FROM dbo.Y 
    WHERE Y.X_ID = X.X_ID 
    FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 1, '') 
    FROM dbo.X; 
+0

यह लेकिन हटाने से काम करता है 'Y_Value =' – Costa

+0

@Costa क्यों? आपके आउटपुट में आपने कहा था कि आप 'Y_Value' उस कॉलम का नाम चाहते थे। –

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

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