如何将此Sql列连接到单个单元格?

时间:2014-01-28 08:31:14

标签: sql sql-server-2008

ClassName    BookCode
First          2
Second         2
Third          2
First          3
Fourth         3
Fifth          3

我想将其连接成这样:

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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;

未经测试。