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

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

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