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

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

相关推荐
wefg14 分钟前
【Linux】动静态库
linux·运维·restful
H Journey6 分钟前
Docker swarm 集群搭建实战
运维·docker·容器
BYSJMG6 分钟前
计算机毕设推荐:基于大数据的共享单车数据可视化分析
大数据·后端·python·信息可视化·数据分析·课程设计
怣508 分钟前
MySQL多表连接完全指南:内连接与外连接(零基础入门版)
数据库·mysql
爱吃山竹的大肚肚10 分钟前
文件上传大小超过服务器限制
java·数据库·spring boot·mysql·spring
划水的code搬运工小李16 分钟前
Ubuntu下挂载NTFS格式磁盘
linux·运维·ubuntu
炸裂狸花猫16 分钟前
开源域名代理与流量限制方案 - Cloudflare + Ingress + 自签名证书
运维·云原生·容器·kubernetes·cloudflare·waf·免费域名证书
短剑重铸之日17 分钟前
《设计模式》第九篇:三大类型之结构型模式
java·后端·设计模式·组合模式·代理模式·结构性模式
佑白雪乐19 分钟前
<Linux基础12集>1-11集大复习Review
linux·运维·策略模式
star125821 分钟前
数据分析与科学计算
jvm·数据库·python