2014-01-28 50 views
-2
ClassName BookCode 
First   2 
Second   2 
Third   2 
First   3 
Fourth   3 
Fifth   3 

我想连接到这一点是这样的:如何将此Sql列连接成单个单元格?

ClassName    BookCode 
First,Second,Third  2 
First,Fourth,Fifth  3 
+1

去这里:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f09d4166-2030-41fe-b86e-392fbc94db53/tsql-equivalent-for-groupconcat-function?forum=transactsql –

回答

0

试试这个

SELECT 
Distinct BookCode, 
    (
     SELECT ClassName +',' 
     FROM table1 t2 
     WHERE t2.BookCode= t1.BookCode 
     FOR XML PATH('') 
    ) Concatenated 

FROM table1 t1 

输出:

enter image description here

WORKING FIDDLE

0

尝试此查询:

select distinct t1.BookCode, 
    STUFF((SELECT distinct ',' + t2.ClassName 
     from yourtable t2 
     where t1.BookCode = t2.BookCode 
      FOR XML PATH(''), TYPE 
     ).value('.', 'NVARCHAR(MAX)') 
    ,1,0,',') ClassName 
from yourtable t1; 

未经测试。

+0

Op for your query _ ,, Fifth,First,Fourth_ –

+0

我没有测试它,是不是错误? – Hamidreza

+0

没有错,但它的格式不正确 –

相关问题