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 分钟前
Spring AI:让大模型住进 Spring 生态(五)
java·后端·spring
繁星星繁1 分钟前
自动化构建-make/Makefile
运维·自动化
doiito2 分钟前
【Agent Harness】有了 Oxigraph 图数据库,为什么我还要再塞一个 Qdrant 向量库?
后端
你是个什么橙2 分钟前
安装KVM服务器、使用libvirt tools工具管理虚拟机
运维·服务器·云计算
锋行天下2 分钟前
中小项目高可用,真的需要K8s吗?从单机备份到企业级架构的完整思考
后端·mysql·nginx
倚栏听风雨3 分钟前
spring @Primary 详解
后端
铁皮饭盒4 分钟前
Bun 都用 AI + Rust 重写了,咋不顺便把 Node.js 的 API 全兼容了?
前端·后端
XovH9 分钟前
第49篇 k8s之服务网格入门:Istio 简介
后端
tedcloud1239 分钟前
FluentFlyout部署教程:打造更美观的Windows桌面环境
数据库·人工智能·sql·学习·自动化
RisunJan13 分钟前
Linux命令-parted(磁盘分区工具)
linux·运维