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

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

相关推荐
其实防守也摸鱼1 分钟前
CVE / NVD 漏洞数据库详解:从入门到实战
大数据·运维·人工智能·web安全·自动化
翼龙云_cloud5 分钟前
阿里云国际代理商:2026零基础如何使用轻量应用服务器搭建独立站?
运维·服务器·阿里云·云计算
步行cgn10 分钟前
Spring Boot 绑定嵌套 Bean 详解
java·spring boot·后端
Looooking10 分钟前
Python 之 Flask 的全局变量 g
后端·python·flask
新时代牛马16 分钟前
Linux 内存映射mmap 完整篇:从用户态 API、VMA 到缺页与驱动实现
linux·运维·服务器
IvorySQL20 分钟前
代价比较的变革——PostgreSQL执行计划干预增强深度解析
数据库·postgresql·ffmpeg
SL-staff21 分钟前
离散制造企业如何应对频繁插单?智能排产系统带来新思路
大数据·数据库·人工智能·技术教程·智能排产·jvs-aps·排产系统
张洛闻Eren26 分钟前
云原生k8s【第八课】: ETCD 备份与恢复
linux·运维·docker·kubernetes·k8s
码云数智-园园28 分钟前
Oracle 锁等待、会话阻塞故障复盘:生产事故排查步骤
数据库·oracle
新时代牛马37 分钟前
Linux 守护进程与服务完整篇:从daemonize、systemd 到pidfile 与排障
linux·运维·服务器