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

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

相关推荐
七夜zippoe1 分钟前
PostgreSQL高级特性在Python中的实战:JSONB、全文搜索、物化视图与分区表深度解析
数据库·python·postgresql·性能优化·分区表
七七powerful2 分钟前
养龙虾--codebuddy调用mysql-mcp-server 查询MySQL
服务器·数据库·mysql·mcp
用户6996228806054 分钟前
PocketBase:3分钟搭建全功能后端的轻量级神器
后端
@insist1235 分钟前
软件设计师-E-R 模型核心原理与应用指南
数据库·oracle·软考·软件设计师·软件水平考试
猹叉叉(学习版)6 分钟前
【ASP.NET CORE】 11. SignalR
笔记·后端·c#·asp.net·.netcore
荆楚闲人9 分钟前
ubuntu下实现自动以root用户开机无密码方式进入桌面
linux·运维·ubuntu
程序边界10 分钟前
从MySQL到国产数据库的真实迁移笔记:那些坑爹的坑和意外的爽点
后端
qq56801807610 分钟前
一个基于Spring Boot的简单网吧管理系统
java·spring boot·后端
hashiqimiya15 分钟前
spring报错
java·后端·spring
Insist75320 分钟前
Kingbase--单机部署完整流程
运维·数据库