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

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

相关推荐
客场消音器8 分钟前
我用两周半 Vibe Coding 做了一个前额叶训练的微信小程序
前端·javascript·后端
2301_7796224111 分钟前
mysql如何通过主从备份实现读写分离_配置mysql架构模式
jvm·数据库·python
杨凯凡14 分钟前
【032】排查入门:jstack、heap dump、Arthas 初识
java·开发语言·后端
中科三方16 分钟前
输入域名后无法访问?教你快速区分域名解析问题与服务器问题
运维·服务器
m0_7411733317 分钟前
HTML5中WebSocket在弱网环境下的延迟抖动算法补偿
jvm·数据库·python
2401_8714928523 分钟前
Pandas如何做时间差对齐_pd.merge_asof按最近的时间戳合并两表
jvm·数据库·python
internet Boy24 分钟前
桌面运维面试常见问题及标准答案(完整版)
运维
铁皮饭盒1 小时前
成为AI全栈 - 第4课:Drizzle ORM SQLite Elysia 数据库实战
前端·后端
m0_716255001 小时前
第一部分 数据开发 面试全题 模拟口述版(自问自答)
java·数据库·面试