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

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

相关推荐
三水不滴2 分钟前
Redis 持久化机制
数据库·经验分享·redis·笔记·缓存·性能优化
_叶小格_6 分钟前
cp、scp、rsync命令详解
linux·运维·服务器·ubuntu·centos·运维开发
sunshine88513 分钟前
合规性管理:财务安全与业务连续性的双重保障
大数据·运维·人工智能
lusasky13 分钟前
Claude Code v2.1.0+ 版本集成LSP
大数据·数据库·人工智能
凯子坚持 c20 分钟前
Qt常用控件指南(7)
服务器·数据库·qt
diediedei28 分钟前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
气可鼓不可泄29 分钟前
将dmpython 封装在容器镜像里
数据库·python
m0_5613596731 分钟前
超越Python:下一步该学什么编程语言?
jvm·数据库·python
mango_mangojuice34 分钟前
Linux学习笔记 1.19
linux·服务器·数据库·笔记·学习
i建模39 分钟前
linux断点续传下载文件
linux·运维·服务器