日期:2014-05-17  浏览次数:20519 次

请教关于行转列问题
本帖最后由 cbcman 于 2013-04-15 16:52:26 编辑

以下的多行数据,希望实现行转列后,结果只剩下三行的数据。求指导行转列写法。谢谢!!
数据是sql server 2008 r2


------解决方案--------------------
SELECT Name   ,  ClassName , Grade,
[优]=MAX(CASE WHEN [level]='优' THEN paperCount ELSE 0 END ),
[良]=MAX(CASE WHEN [level]='良' THEN paperCount ELSE 0 END ),
[中]=MAX(CASE WHEN [level]='中' THEN paperCount ELSE 0 END ),
[差]=MAX(CASE WHEN [level]='差' THEN paperCount ELSE 0 END )
FROM TB
GROUP BY Name   ,  ClassName , Grade