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

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

相关推荐
笃行35013 分钟前
踩坑实战 | MySQL/PostgreSQL 迁移必踩:LEFT JOIN 莫名丢数据,KES 外连接消除避坑指南
数据库
Fanta丶17 分钟前
5.Activiti7工作流启动和查询流程、流程任务处理
后端
摇滚侠18 分钟前
Redis7 零基础到进阶 Linux 离线安装 Redis 09-10
数据库·redis·缓存
꒰ঌ 安卓开发໒꒱23 分钟前
.NET CAP入门到入土
后端·c#·.net
wang_shu_mo_ran1 小时前
网络编程(一):网络编程初识
运维·服务器·网络
赵渝强老师1 小时前
【赵渝强老师】达梦数据库的回滚数据
数据库·达梦数据库·国产数据库
从此以后自律1 小时前
SQL 语句从基础到高级
数据库·oracle
IvorySQL1 小时前
PG 日报|多款 PostgreSQL 工具新版本集中发布
数据库·postgresql
sukioe1 小时前
【无标题】
后端·docker·centos