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

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

相关推荐
刺客xs5 分钟前
Qt ---- Qt6.5.3 连接MySQL数据库
数据库·qt·mysql
爱学习的小可爱卢7 分钟前
JavaEE进阶——SpringBoot拦截器详解:从入门到实战
java·spring boot·后端
TiDB 社区干货传送门15 分钟前
“医疗专业应用+分布式数据底座”:平凯数据库与金唐软件全链路赋能医疗国产化与数字化转型
数据库·分布式
德彪稳坐倒骑驴16 分钟前
SQL刷题笔记-我没做出来的题目
数据库·笔记·sql
lingggggaaaa16 分钟前
CS配合CrossC2插件,实现MacOS/Linux上线
linux·运维·笔记·安全·macos
GottdesKrieges22 分钟前
通过obd升级OceanBase数据库
数据库·oracle·oceanbase
java_logo23 分钟前
AdguardHome Docker 容器化部署指南
运维·docker·容器·jenkins·adguardhome·部署adguardhome·docker adguard
TiDB 社区干货传送门30 分钟前
【附操作指南】从 Oceanbase 增量数据同步到 TiDB
linux·服务器·数据库·tidb·oceanbase
红辣椒...36 分钟前
安装next-ai-draw-io
linux·运维·服务器
jiafuLi201836 分钟前
TortoiseGit 和本地 Git 共享 SSH 密钥和用户配置
运维·git·ssh