Luis Cazares (7/24/2013)
I believe this option is better for performance.
SELECT ID,
SUM( CASE WHEN Type = 'a' THEN Amount ELSE 0 END) AS Amount_A,
SUM( CASE WHEN Type = 'b' THEN Amount ELSE 0 END) AS Amount_B
FROM MyTable
GROUP BY ID
ORDER BY ID
For more information, you can check Cross Tabs and Pivots, Part 1 – Converting Rows to Columns[/url]
That's the one I came up initially, but the example showed a NULL for lD 1, so I wanted to avoid showing any 0.
Picky picky 😀
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP