Search This Blog

Thursday, April 21, 2011

More SQL Pivot idea's

CREATE TABLE Test
(
Id INT,
Names VARCHAR(100)
)
GO
-- Load sample data
INSERT INTO Test SELECT
1,'A' UNION ALL SELECT
1,'B' UNION ALL SELECT
1,'C' UNION ALL SELECT
2,'A' UNION ALL SELECT
2,'B' UNION ALL SELECT
3,'X' UNION ALL SELECT
3,'Y' UNION ALL SELECT
3,'Z'
GO

SELECT T1.Id ,AllNames = SubString (
( SELECT ', ' + T2.Names
      FROM Test as T2
      WHERE T1.Id = T2.Id
      FOR XML PATH ( '' ) ), 3, 1000)
FROM Test as T1
GROUP BY Id
-sent by Johan S