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

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

相关推荐
小此方30 分钟前
Re:Linux系统篇(五十二)线程篇 · 五:直击 Linux 内核底层:TCB 与 LWP 一体两面全解析(附自定义线程封装)
linux·运维·驱动开发
哥本哈士奇(aspnetx)6 小时前
dbt+SQLServer构建数据仓库(6):Jinja与DAG实战
sqlserver
c238568 小时前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
程序员爱钓鱼8 小时前
Rust Copy详解:隐式复制与轻量数据类型
前端·后端·rust
jnrjian9 小时前
postgres database 更换用户
数据库·postgresql
仙人球部落 揞殺9 小时前
细说ASP.NET的各种异步操作
后端·asp.net
無a伟10 小时前
redis缓存完整详解
数据库·redis·缓存
卷无止境11 小时前
当独立开发者也能造出3A画质的游戏:Godot引擎深度解析
后端·python·godot
微三云 - 廖会灵 (私域系统开发)11 小时前
抖店 OPC 自动化运营系统架构与商业代理分控体系完整解析
运维·系统架构·自动化
G311354227311 小时前
大模型不可用时,业务还能不能继续:企业需要设计降级方案
大数据·服务器·数据库·人工智能·深度学习