SQLServer列转行操作及union all用法

1.创建测试表及数据sql如下

create table ScoresTable(

Name varchar(50),

ChineseScore int,

MathScore int

)

insert into ScoresTable values('小张',90,95)

insert into ScoresTable values('小王',98,99)

2.表中查询结果如下

3.现需列转行显示,每行显示 姓名,科目,成绩

实现sql如下:

select * from

(

select Name, Subject ='语文',Scores=ChineseScore from ScoresTable

union all

select Name, Subject ='数学',Scores=MathScore from ScoresTable

) t

order by Name ,Subject

运行结果如下,实现了列转行

相关推荐
江小渔6 小时前
训练工程与训练平台入门33 追踪一次 TrainJob 的完整生命周期
后端
无糖可可果6 小时前
NestJS 学习分享:从工厂模式到企业级后端开发
后端
时空无限6 小时前
ubuntu apt 查看软件之间的依赖
linux·运维·ubuntu
Escalating_xu7 小时前
【Linux】进程信号:从产生、阻塞与递达到 sigaction、可重入与内核返回路径
linux·运维·面试·职场和发展
2603_966437267 小时前
格式化之后数据还能恢复吗?说清恢复条件
linux·运维·数据库
RisunJan7 小时前
Linux命令-traceroute(IP 路由路径追踪)
linux·运维·tcp/ip
vipbic7 小时前
网站升级了,我却有点舍不得
前端·vue.js·后端
IT_陈寒7 小时前
Java Stream并行处理让我数据库崩了两次
前端·人工智能·后端
芷栀夏7 小时前
极空间部署Sokoban:Docker搭建网页版推箱子并实现远程访问
运维·docker·容器
2601_963870227 小时前
【计算机毕业设计】基于Spring Boot的考研信息交流平台的设计与实现
java·spring boot·后端