October 21, 2011

Column value as comma separated in SQL Server

We have following records in our table.



Output should come in this format.



CREATE TABLE Locations
(ID INT,Name NVARCHAR(100),City NVARCHAR(100))

INSERT INTO Locations
SELECT 1,'Mac','Delhi'   UNION ALL
SELECT 2,'Mac','Mumbai'  UNION ALL
SELECT 3,'Mac','Chennai' UNION ALL
SELECT 4,'Peter','Delhi' UNION ALL
SELECT 5,'Sam','Mumbai' 

SELECT 
T1.Name ,STUFF((SELECT ',' + RTRIM(T2.City)
          FROM Locations T2
             WHERE T1.Name = T2.Name
             ORDER BY Name
        FOR XML PATH('')),1,1,'') AS City
FROM Locations T1
GROUP BY T1.Name
That's It
Enjoy Learning. 
 

1 comment:

Anonymous said...

Good Post

Post a Comment