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

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

相关推荐
库库林_沙琪马3 分钟前
1、Hi~ SpringBoot
java·spring boot·后端
python百炼成钢4 分钟前
52.Linux PWM子系统
linux·运维·服务器·驱动开发
zwm_yy4 分钟前
mysql主从主备回顾
运维·mysql·adb
哈哈哈笑什么6 分钟前
分布式高并发Springcloud系统下的数据图同步断点续传方案【订单/商品/用户等】
分布式·后端·spring cloud
阿宁又菜又爱玩9 分钟前
Web后端开发入门
java·spring boot·后端·web
可可苏饼干11 分钟前
ELK(Elastic Stack)日志采集与分析
linux·运维·笔记·elk
wangmengxxw13 分钟前
微服务-服务配置
java·运维·微服务·云计算·服务配置
SelectDB14 分钟前
Apache Doris 实时更新全解:从设计原理到最佳实践|Deep Dive
数据库·apache
纪莫19 分钟前
技术面:如何解决缓存和数据库一致性的问题?
数据库·redis·java面试⑧股
桃花键仙21 分钟前
vLLM-ascend快速上手:从零到一部署Llama2推理服务
后端