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

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

相关推荐
洋不写bug5 分钟前
数据库基础核心操作——CRUD,超详细解析,搭配表格讲解和需求的实现。
数据库
马猴烧酒.10 分钟前
JAVA后端用户登录与鉴权详解
java·数据库·sql
heartbeat..31 分钟前
Redis 常用命令全解析:基础、进阶与场景化实战
java·数据库·redis·缓存
数据知道37 分钟前
PostgreSQL 实战:一文掌握如何优雅的进行递归查询?
大数据·数据库·postgresql
Hello.Reader41 分钟前
Flink 2.2 Docker 部署Session / Application / SQL Client 一把梭(含 Compose、插件、连接器与踩坑点)
sql·docker·flink
陌上丨42 分钟前
MySQL8.0高可用集群架构实战
数据库·mysql·架构
夕除1 小时前
java--1
linux·运维·服务器
桌面运维家1 小时前
vDisk VOI桌面安全策略怎么配置?详细教程
运维·网络
重生之绝世牛码1 小时前
Linux软件安装 —— ClickHouse单节点安装(rpm安装、tar安装两种安装方式)
大数据·linux·运维·数据库·clickhouse·软件安装·clickhouse单节点
一只自律的鸡1 小时前
【MySQL】第十一章 存储过程和存储函数
数据库·mysql