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

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

相关推荐
IT_陈寒2 分钟前
SpringBoot配置加载顺序把我坑惨了
前端·人工智能·后端
Moment9 分钟前
面试官:给 llm 传递上下文,有哪几个身份 role ❓❓❓
前端·后端·面试
程序猿乐锅11 分钟前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql
snakeshe101023 分钟前
SpringBoot 多人协作平台实战(5):从零开始集成 MyBatis ORM 连接 MySQL 数据库
后端
AOwhisky38 分钟前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
SamDeepThinking1 小时前
中小团队需要一个资源微服务
后端·微服务·架构
Navicat中国1 小时前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
gmaajt1 小时前
Golang怎么做国际化多语言_Golang i18n教程【核心】
jvm·数据库·python
小龙在慢慢变强..1 小时前
目录结构(FHS 标准)
linux·运维·服务器