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 小时前
【开题答辩全过程】以 基于Springboot旅游景点管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Python-AI Xenon14 小时前
RHEL/CentOS 7.9环境中离线安装Telnet服务完整指南
linux·运维·telnet·rhel7.9
Trouvaille ~14 小时前
【Linux】进程信号(三):信号捕捉与操作系统运行原理
linux·运维·服务器·c++·操作系统·信号·中断
qq_4232339014 小时前
实战:用Python开发一个简单的区块链
jvm·数据库·python
信创天地14 小时前
国产化数据库深度运维:性能调优与故障排查实战指南
运维·数据库·安全·elk·自动化·rabbitmq
维度攻城狮14 小时前
Ubuntu突然无法中文输入的问题解决办法
linux·运维·ubuntu
eWidget14 小时前
Shell输入输出(一):echo/printf输出,格式控制与颜色设置
运维·数据库·运维开发
a程序小傲15 小时前
得物Java面试被问:流批一体架构的实现和状态管理
java·开发语言·数据库·redis·缓存·面试·架构
b***251115 小时前
动力电池点焊工艺解析
运维·自动化
Jess0715 小时前
MySQL操作库 —— 库的操作
数据库·mysql