CREATE TABLE #Temp([Group] CHAR(1),Name CHAR(1),Value INT)
INSERT INTO #Temp([Group],Name,Value)
SELECT 'p','a',1 UNION ALL
SELECT 'p','b',2 UNION ALL
SELECT 'p','c',3 UNION ALL
SELECT 'p','d',4 UNION ALL
SELECT 'q','a',5 UNION ALL
SELECT 'q','b',6 UNION ALL
SELECT 'q','d',7 UNION ALL
SELECT 'r','a',8 UNION ALL
SELECT 'r','b',9 UNION ALL
SELECT 'r','c',10 UNION ALL
SELECT 'r','d',11
SELECT [Group],
SUM(CASE WHEN Name = 'a' THEN Value END) AS [a],
SUM(CASE WHEN Name = 'b' THEN Value END) AS ,
SUM(CASE WHEN Name = 'c' THEN Value END) AS [c],
SUM(CASE WHEN Name = 'd' THEN Value END) AS [d]
FROM #Temp
GROUP BY [Group]
____________________________________________________
Deja View - The strange feeling that somewhere, sometime you've optimised this query before
How to get the best help on a forum
http://www.sqlservercentral.com/articles/Best+Practices/61537