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

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

相关推荐
一心只读圣贤书14 分钟前
本地后端环境与前端联调总结(前端小白视角)
后端
木白CPP20 分钟前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
-今昭-23 分钟前
HAProxy 负载均衡部署
运维·负载均衡
SelectDB26 分钟前
抖音集团 实时数据仓库:Apache Doris / SelectDB 的技术能力与实践
数据库
SelectDB34 分钟前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据库
RisunJan43 分钟前
Linux命令-times(进程累计时间显示)
linux·运维·chrome
杨利杰YJlio1 小时前
KB5121003更新详解:安全启动证书、AI组件、资源管理器与安装验证
前端·javascript·后端
忙碌碌粒粒橙1 小时前
《用户付一次钱,你的系统为什么处理了两遍:Webhook 重复投递避坑指南》
后端
weixin_539446781 小时前
Navicat Premium 17报缺少ODBC驱动
数据库
数字化探索者笔记1 小时前
从零搭建:VMware 银河麒麟V10部署 OceanBase 4.2.5 企业版集中式数据库
后端