问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

写一条SQL语句将表一的数据转换成表二的样子

发布网友 发布时间:2022-04-10 00:18

我来回答

4个回答

热心网友 时间:2022-04-10 01:47

这是我以前给他们做的一个行专列的例子,你可以参考一下:
/*学生表:Member
字段名称 数据类型 说明
MID Char(10) 学生号,主键
MName Char(50) 姓名

课程表Class:
字段名称 数据类型 说明
FID Char(10) 课程,主键
FName Char(50) 课程名

成绩表:Score
字段名称 数据类型 说明
SID int 自动编号,主键,成绩记录号
FID Char(10) 课程号,外键
MID Char(10) 学生号,外键
Score int 成绩*/

create table member(mid varchar(10) primary key,mname varchar(50))
create table class(fid varchar(10) primary key,fname varchar(50))
create table score(sid int primary key,fid varchar(10),mid varchar(10),score int)
go
insert into member values ('1001','张三')
insert into member values ('1002','李四')
insert into class values ('A1','数学')
insert into class values ('A2','化学')
insert into class values ('A3','*')
insert into class values ('A4','历史')
insert into class values ('A5','语文')
insert into class values ('A6','物理')
insert into score values (1,'A1','1001',80)
insert into score values (2,'A1','1002',85)
insert into score values (3,'A2','1001',84)
insert into score values (4,'A4','1002',90)
go
declare @sql varchar(8000)
select @sql='select a.mname as 学生姓名'
select @sql=@sql+',sum(case c.fname when '''+fname+''' then b.score else null end )as '+fname from class
select @sql=@sql+' from member a left join score b on a.mid=b.mid left join class c on b.fid=c.fid group by a.mname'
print @sql
exec (@sql)

热心网友 时间:2022-04-10 03:05

Create table Class([Student] nvarchar(2),[Course] nvarchar(2),[Score] int)
Insert Class
select N'张三',N'语文',78 union all
select N'张三',N'数学',87 union all
select N'张三',N'英语',82 union all
select N'张三',N'物理',90 union all
select N'李四',N'语文',65 union all
select N'李四',N'数学',77 union all
select N'李四',N'英语',65 union all
select N'李四',N'物理',85
Go
declare @s nvarchar(4000)
Select @s=isnull(@s+',','')+quotename([Course]) from Class group by[Course] --isnull(@s+',','') 去掉字符串@s中第一个逗号
exec('select [Student],'+@s+',[总成绩] from (select *,[总成绩]=sum([Score])over(partition by [Student]) from Class) a
pivot (max([Score]) for [Course] in('+@s+'))b ')

热心网友 时间:2022-04-10 04:40

select country,
sum(case type when 'A' then Money end) a,
sum(case type when 'B' then money end) b,
sum(case type when 'c' then money end) c
from test group by country order by country desc

热心网友 时间:2022-04-10 06:31

select country, sum(case when type='A' then money end) as A,
sum(case when type='B' then money end) as B,
sum(case when type='C' then money end) as C
from table1
group by country
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
开封跑滴滴需要什么手续 郑州的滴滴打车可以在开封好吗 集团管控有哪几种模式 集团管控五种模式 集团管控模式集团管控模式选择的主要影响因素 win10桌面图标间距变大了怎么调整 win10桌面图标间距变大了调整方法 南宁什么路有民生银行 南宁民生银行保安第一个月工资多少?? 如果电池在综合测试时,电压原本是3.7伏标准,但是一测试那个电压立马 保护板的线结对但是用检测板测试为什么检测灯不亮反插反而亮为什么? 贵州怀庄酒业(集团)公司大吗?酒质好吗?主产酱香型酒吗? 为什么喝白酒的年轻人越来越少? 我想做白酒加盟,需要什么条件才和纸质呢? 我想加盟白酒代理,想问大家一下,哪里有好的代理商? 假如你知道10天之后会发生生化危机,你会怎么办? 您见过酒量最好的人是谁? 各位老大们 小弟请教 过两天要坐火车回家 天津站 可以带散酒吗 10斤 白塑料壶装的 答案准确点 谢啦 新年快 四川坛老大散酒怎么样? 坛老大散酒性价比怎么样? 四川坛老大散酒是粮食酒吗 怎么取消asp后台登陆验证码啊? 日本第一波霸是谁? 冈田真由香的人物评价 太祖秘史里哪些集会出现褚英和代善,皇太极? 在excel表格里面输入很多人名,我想问下怎么做才知道我输入的人名是否重复 冈田润音的主要作品 冈田真由香的演艺经历 冈田真由香的介绍 要怎么把录音文件m4a格式转成MP3? 在苹果商店为什么找不到anycast加速器 轴对称图形图片欣赏 2021好用的LGA2011接口CPU有哪些推荐? 跑步机怎么用 跑步机使用注意事项 跑步机使用方法 全世界的对称轴图片 有哪些对称的照片你特别喜欢? LGA 2011x99和LGA 2011cpu平台有什么区别? 动物轴对称图形图片 可以和主板LGA2011接口结合的CPU有什么啊? 怎么辨别中心对称和轴对称图形,要图片讲解喔! 龟山镇的特色产品 LGA1156,LGA1155,LGA1150,LGA1366,LGA2011按时间先后排序 那些品种是绿茶 轴对称图形举例(图) 轴对称图形漂亮图片 intel/英特尔 s2600cp4双路lga2011服务器主板 c602芯片2011针角支持i7cpu吗 谁有轴对称图形的图片 轴对称图形有几个? lga2011的cpu可以插lga2011v3的主板吗? LGA2011的主板能插CPU LGA2011-V3吗 四个既是中心对称图形又是轴对称图形的图片