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

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

相关推荐
陈陈CHENCHEN13 分钟前
【数据库】MySQL 8.0.40 至 8.0.44 RPM 方式升级指南
数据库·mysql
白菜欣17 分钟前
Linux —《开发三件套:gcc/g++、gdb、make/Makefile 全解析》
linux·运维
Eric_见嘉24 分钟前
在职前端 Agent 配置分享
前端·后端·agent
何中应25 分钟前
Grafana如何给列表设置别名
运维·grafana·监控
Ares-Wang30 分钟前
Flask》》 Flask-OpenID 认证、 OpenID Connect (OIDC)
后端·python·flask
掘金码甲哥32 分钟前
这篇优雅安装k8s集群的姿势,请务必投喂给AI智能体, 包装包活的那种!
后端
MXsoft6181 小时前
运维的尽头,是把“救火”变成“算命”
运维
大卡片1 小时前
IO模型与并发服务器设计
运维·服务器·网络
m0_734949791 小时前
怎么利用Navicat进行调整备份文件压缩等级_详细配置与操作步骤
jvm·数据库·python
T.i.s1 小时前
番外续2-MIT-BIH Arrhythmia Database
数据库