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

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

相关推荐
郑州光合科技余经理1 天前
代驾系统架构拆解:订单链路、权限组织与私有化源码交付
开发语言·后端·算法·架构·系统架构·uni-app·php
hboot1 天前
AI工程师第六课 - RAG检索增强生成
后端·langchain·llm
mldong1 天前
jeeflow:98KB 的工作流引擎长什么样
后端
哥本哈士奇(aspnetx)1 天前
dbt+SQLServer构建数据仓库(3):dbt_project.yml配置精讲
sqlserver
long3161 天前
MySQL 学习练习(配套 01 入门资料)
数据库·学习·mysql
Lonely 净土1 天前
Rocky Linux 安装教程
linux·运维·服务器
数据库小学妹1 天前
数据库等保三级和四级有什么区别?从访问控制到备份恢复的完整对比
数据库·安全·数据库安全·三级等保·等保合规·四级等保
光影少年1 天前
RN的Fabric 渲染流程
运维·前端·javascript·react native·react.js·fabric
A 糖醋排骨1 天前
grafana loki alloy轻量级日志采集
运维·grafana·loki
隔窗听雨眠1 天前
AI重塑数据分析:从SQL执行者到智能基础设施构建者
人工智能·sql·数据分析