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

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

相关推荐
数智化管理手记1 天前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
翊谦1 天前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
w6100104661 天前
CKAD-2026-Ingress
运维·k8s·ckad
難釋懷1 天前
OpenResty实现Redis查询
数据库·redis·openresty
别抢我的锅包肉1 天前
【MySQL】第四节 - 多表查询、多表关系全解析
数据库·mysql·datagrip
Database_Cool_1 天前
OpenClaw-Observability:基于 DuckDB 构建 OpenClaw 的全链路可观测体系
数据库·阿里云·ai
刘~浪地球1 天前
Redis 从入门到精通(五):哈希操作详解
数据库·redis·哈希算法
zzh0811 天前
MySQL高可用集群笔记
数据库·笔记·mysql
Shely20171 天前
MySQL数据表管理
数据库·mysql
爬山算法1 天前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb