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

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

相关推荐
合作小小程序员小小店8 小时前
桌面开发,下午茶甜品管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·c#
Victor3568 小时前
Redis(154)Redis的数据一致性如何保证?
后端
q***01778 小时前
SQL美化器:sql-beautify安装与配置完全指南
数据库·sql
秋邱8 小时前
高等教育 AI 智能体的 “导学诊践” 闭环
开发语言·网络·数据库·人工智能·python·docker
r***86988 小时前
springboot三层架构详细讲解
spring boot·后端·架构
F36_9_8 小时前
在线协作工具十款测评
网络·数据库
Victor3568 小时前
Redis(155)Redis的数据持久化如何优化?
后端
云雾J视界8 小时前
从位运算到状态机:用纯C重构红外/DS18B20/I²C协议,告别“黑盒库“的嵌入式实战指南
c语言·数据库·重构
n***84078 小时前
Linux安装RabbitMQ
linux·运维·rabbitmq
许泽宇的技术分享8 小时前
AgentFramework-零基础入门-第08章_部署和监控代理
人工智能·后端·agent框架·agentframework