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

I want to concatenate this into like this :

ClassName             BookCode
First,Second,Third       2
First,Fourth,Fifth       3
Coderz
  • 245
  • 6
  • 20
  • 1
    Go here: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f09d4166-2030-41fe-b86e-392fbc94db53/tsql-equivalent-for-groupconcat-function?forum=transactsql – Joe Taras Jan 28 '14 at 08:34

2 Answers2

0

Try this

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

Output:

enter image description here

WORKING FIDDLE

Community
  • 1
  • 1
Vignesh Kumar A
  • 27,863
  • 13
  • 63
  • 115
0

try this query:

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;

NOT TESTED.

Hamidreza
  • 3,038
  • 1
  • 18
  • 15