用pivot行转列遇到的问题

wangdaye1993 2015-08-26 02:41:40
1、我用的是SQL Server2012 EXpress版本
2、首先建了个表new_SC,插入数据,查询效果如图:

3、然后用pivot进行行列转换:

4、结果就如上图,没有达到效果,我又换了个写法:

5、我想问一下为什么我用pivot不行呢?我也反复查过资料,pivot语句没有错啊
6、后来经过再次修改,改成这样就行了:

7、这是为毛?
...全文
287 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
-仰朢天空- 2015-08-26
  • 打赏
  • 举报
回复
确实是ID的问题,如果没有ID字段就OK了。。。
暴走の蜗牛 2015-08-26
  • 打赏
  • 举报
回复
之前面试中也被问道过,学习了....
Tiger_Zhao 2015-08-26
  • 打赏
  • 举报
回复
select *
from (
SELECT Name, Course, Grade
FROM new_SC
) t
PIVOT ...

要把Name, Course, Grade之外的字段都去掉,否则ID也作为行的区分了。
上下两个查询比较一下结果。
select *
from new_SC
PIVOT ...

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧