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

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

相关推荐
minji...11 分钟前
MySQL数据库 (八) MySQL表的基本查询(下),truncate、group by、聚合函数、分组聚合统计
数据库·mysql·聚合函数·update·分组聚合统计
乐世东方客15 分钟前
备份脚本记录(binlog文件+mysql+mongo)
android·数据库·mysql
暴力求解16 分钟前
MySQL---数据类型
数据库·mysql
Nturmoils17 分钟前
分页别写太顺手,LIMIT 背后还有排序和边界
数据库·后端
小饕18 分钟前
RAG学习之【向量数据库】Milvus 从入门到精通:索引、检索、混合搜索一篇打通(RAG 必备)
数据库·人工智能·学习·milvus
华奥系科技19 分钟前
汛期城市内涝治理:智慧水务如何重塑防汛“安全感”?
大数据·运维·人工智能
IT WorryFree20 分钟前
三套 Zabbix7.4 API 可直接复制 params 模板
运维·服务器·网络
神奇小汤圆21 分钟前
国产版“Codex”初体验,智谱ZCode很强啊!
后端
站大爷IP22 分钟前
Python里的“赋值”到底是什么意思?
后端
鹅城剑仙1 小时前
Spring Boot 微服务架构设计与最佳实践
spring boot·后端·微服务