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

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

相关推荐
南璋17 小时前
MySQL排序踩坑:为什么"10"比"2"小?
后端
何陋轩17 小时前
Elasticsearch搜索引擎深度解析:把搜索核心讲透,面试都是小菜
后端·面试
航Hang*17 小时前
Windows Server 配置与管理——第9章:配置DHCP服务器
运维·服务器·windows·学习
Java编程爱好者17 小时前
JVM 详解:从内存结构到调优实战,Java 开发者必读
后端
小瓦码J码17 小时前
如何手动部署一个向量模型服务
人工智能·后端
Carsene17 小时前
Spring Boot 包扫描新姿势:AutoScan vs @Import vs @ComponentScan 深度对比
spring boot·后端
Gopher_HBo17 小时前
ReentrantReadWriteLock源码讲解
java·后端
文浩AI17 小时前
Claude Code 创始人 Boris Cherny 的并行工作流最佳实践
后端
walkerLing17 小时前
Docker Day2
运维·docker·容器
武子康17 小时前
大数据-267 实时数仓-架构演进:Lambda与Kappa架构实战指南
大数据·后端