天天看点

SQLServer 列转行使用--Pivot函数使用

select '小明' as name,'数学' as subjects,'100' as scores  
union 
select '小明' as name,'语文' as subjects,'95' as scores  
union 
select '小明' as name,'英语' as subjects,'90' as scores  
union
select '小张' as name,'数学' as subjects,'100' as scores  
union 
select '小张' as name,'语文' as subjects,'98' as scores  
union 
select '小张' as name,'英语' as subjects,'99' as scores  
           
SQLServer 列转行使用--Pivot函数使用
select  * from 
(select '小明' as name,'数学' as subjects,100 as scores  
union 
select '小明' as name,'语文' as subjects,95 as scores  
union 
select '小明' as name,'英语' as subjects,90 as scores  
union
select '小张' as name,'数学' as subjects,100 as scores  
union 
select '小张' as name,'语文' as subjects,98 as scores  
union 
select '小张' as name,'英语' as subjects,99 as scores)  as tabs
pivot (
sum(scores)
 for subjects in ([数学],[语文],[英语])
)  as 分数
           
SQLServer 列转行使用--Pivot函数使用