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

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

相关推荐
老马啸西风5 分钟前
Neo4j GDS-09-neo4j GDS 库中路径搜索算法实现
网络·数据库·算法·云原生·中间件·neo4j·图数据库
吴生439618 分钟前
数据库ALGORITHM = INSTANT 特性研究过程
后端
XY.散人32 分钟前
初识Redis · list和hash类型
数据库·redis·哈希算法
Arbori_2621532 分钟前
Oracle WITH 子句(也称为 公共表表达式,Common Table Expression,CTE)
数据库·oracle
LJianK133 分钟前
array和list在sql中的foreach写法
数据结构·sql·list
程序猿chen33 分钟前
JVM考古现场(十九):量子封神·用鸿蒙编译器重铸天道法则
java·jvm·git·后端·程序人生·java-ee·restful
Tapdata1 小时前
拒绝停服, 随时回退:Sybase 到 Postgresql 的无缝数据库双向迁移方案
数据库
Chandler241 小时前
Go:接口
开发语言·后端·golang
ErizJ1 小时前
Golang|Channel 相关用法理解
开发语言·后端·golang
automan021 小时前
golang 在windows 系统的交叉编译
开发语言·后端·golang