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

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

相关推荐
江畔柳前堤2 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
nxb5564 小时前
haproxy算法,ip透传,自定义haproxy错误页面
运维·服务器
敲个大西瓜4 小时前
Redis一百道核心面试题
数据库·redis·缓存
阿里云大数据AI技术4 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
陈随易4 小时前
moon,apt和yum之外linux系统命令安装新选择
前端·后端·程序员
AKAMAI5 小时前
你的源服务器可能是你做出的最昂贵决定
运维·人工智能·云计算
码事漫谈5 小时前
当单库日增 4.5TB,异构实时同步还能稳得住吗?
后端
Dxy12393102165 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
技术深耕者6 小时前
AI Agent从演示到生产:企业进入“自动化层”时代
运维·人工智能·自动化
無a伟7 小时前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库