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

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

相关推荐
Yeats_Liao17 分钟前
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
java·后端·架构
梨子同志21 分钟前
Docker
后端
woxiangkaile28 分钟前
kernel6.1 新增驱动
后端
夜影风39 分钟前
Redis集群创建时出现“Node xxx.xxx is not empty”问题处理
数据库·redis·缓存
姚不倒1 小时前
F5 SSL Profile 证书卸载深入篇
运维·网络协议·负载均衡·ssl·f5
utf8mb4安全女神1 小时前
【Redis数据库】哨兵集群/redis集群/安装配置/主从复制/数据持久化操作/数据结构/安全限制/PHP redis/
linux·服务器·数据结构·数据库·redis·缓存
智商偏低1 小时前
Windows Nginx 完整安装 + 启动教程
运维·nginx
lzz的编码时刻1 小时前
Liquibase 入门实战教程
数据库·运维开发
高明珠1 小时前
麒麟 V10 SP1 踩坑:`./startup.sh` 报“解释器错误: 权限不够“,根因是 KySec
后端
Zk.Sun1 小时前
Linux设置触屏双击距离容差
linux·运维·数据库