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

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

相关推荐
maosheng1146几秒前
基于AI 文本生成的自动化Linux 运维文档系统
运维·人工智能·自动化
智塑未来4 分钟前
2025-2026年具身智能机器人自动化程度综合评测:五大品牌自研大模型与操作系统全对比
运维·机器人·自动化
AI_零食5 分钟前
奶茶大数据运维表 - 鸿蒙PC Electron框架技术实现详解
运维·前端·华为·electron·开源·harmonyos·鸿蒙
Gopher_HBo6 分钟前
存储层LSM Tree
后端·架构
Shadow(⊙o⊙)6 分钟前
System V共享内存详解,shm系列接口,三种共享内存删除机制。System V通信缺点分析
linux·运维·服务器·开发语言·网络·c++
morning_judger8 分钟前
Agent开发系列(七)-可观测性Agent的设计
运维·人工智能
闪电悠米12 分钟前
黑马点评-秒杀优化-03_blocking_queue_async_order
数据库·分布式·oracle·junit·wpf·lua
运维小欣13 分钟前
智能运维监控厂商深度选型推荐
运维
万能的知了13 分钟前
服务器托管 vs 云主机 vs 裸金属:一张决策流程图
运维·服务器·网络
喵喵爱自由13 分钟前
ubuntu离线扩展磁盘分区
linux·运维·ubuntu