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

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

相关推荐
xiaoshuaishuai85 分钟前
C# Codex 脚本编写
java·服务器·数据库·c#
Rooting++11 分钟前
mysql 算一堆经纬度的距离总长
数据库·mysql
y = xⁿ23 分钟前
MySQL:count(1)与count(*)有什么区别,深分页问题
android·数据库·mysql
苏渡苇23 分钟前
5 分钟跑起 Redis(Docker 版)
数据库·redis·缓存·docker·redis入门
无心水26 分钟前
OpenClaw技术文档/代码评审/测试用例生成深度实战
网络·后端·架构·测试用例·openclaw·养龙虾
m0_4939345336 分钟前
Go语言中 & 与 - 的本质区别及指针使用详解
jvm·数据库·python
gjc5921 小时前
踩坑案例:容器方式部署的MySQL无法访问?
数据库·mysql
Greyson11 小时前
Redis如何解决哨兵通知延迟问题_优化客户端连接池动态刷新拓扑的订阅监听机制
jvm·数据库·python
bekote1 小时前
笔记|数据库
数据库·笔记
GetcharZp1 小时前
告别 CGO 噩梦!这款“纯 Go”神器让你不用 GCC 也能调 C 库,部署快到飞起!
后端