sqlserver 动态行专列 避免了数据列过多的时候大量的使用case when then......
原数据 :
UserName Subject Score
Nick 语文 80
Nick 数学 90
Nick 英语 70
Nick 生物 85
Kent 语文 80
Kent 数学 90
Kent 英语 70
Kent 生物 85
转换后:
最近面试遇到了一道面试题,顿时有点迷糊,只说出了思路,后来百度了一下,整理了一下思路,于是记录下来,方便以后学习。(面试题请参见附件) 相关的数据表: 1.Score表 2.[User]表 SQL语句如下: –方法一:静态SQL 代码如下: SELECT * FROM (SELECT UID,Name, Score,ScoreName FROM Score,[User] WHERE Score.UID=[User].ID) AS SourceTable PIVOT(AVG(Score)FO