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

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

相关推荐
用户938515635073 分钟前
掘金风格后端数据库设计实战:从用户表到分布式架构,一文搞定
后端·sql
会编程的吕洞宾4 分钟前
Redis大Key拖垮线上?排查定位与治理实战
数据库·redis·bootstrap
呆呆小孩26 分钟前
零基础学 MySQL(上):从建库建表到增删改查,一篇搭好 SQL 基础
android·sql·mysql
ltl29 分钟前
WiredTiger History Store:文档库里的第三种 MVCC
数据库
码农阿豪30 分钟前
若依启动突然报 Redis MISCONF?一次从应用报错到磁盘爆满的完整排查记录
数据库·redis·bootstrap
j7~33 分钟前
【Git】《Git 系列指南(二):Git基本操作与 reset 三种模式》
运维·git·git安装·git基本操作·git配置·创建git仓库·git reset三种模式
拾光师38 分钟前
Hadoop 三种运行模式:从单机调试到生产集群,一路搭过来
后端
ltl39 分钟前
SQLite 查询计划器:没有 ANALYZE 时靠什么猜
数据库
ltl1 小时前
Redis maxmemory 策略:近似 LRU/LFU 与 MEMORY DOCTOR
数据库
zzzll11111 小时前
n8n 工作流自动化平台入门指南
运维·自动化