问个更改SQL数据库结构额问题我原来数据库的结构是这样的名字 科目 分数小明 60小明 70小明 英语 65小红 80小红 90小红 英语 75...剩下的都是这样的了!每个名字都是占三条记录!我现在想改成
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 04:25:43
问个更改SQL数据库结构额问题我原来数据库的结构是这样的名字 科目 分数小明 60小明 70小明 英语 65小红 80小红 90小红 英语 75...剩下的都是这样的了!每个名字都是占三条记录!我现在想改成
问个更改SQL数据库结构额问题
我原来数据库的结构是这样的
名字 科目 分数
小明 60
小明 70
小明 英语 65
小红 80
小红 90
小红 英语 75
...
剩下的都是这样的了!每个名字都是占三条记录!我现在想改成
名字 英语分数
小明 60 70 65
小红 80 90 75
每个人只占一条记录
各位老师有什么好的思路吗?在此先谢过了!
问个更改SQL数据库结构额问题我原来数据库的结构是这样的名字 科目 分数小明 60小明 70小明 英语 65小红 80小红 90小红 英语 75...剩下的都是这样的了!每个名字都是占三条记录!我现在想改成
可以啊,语句:
select 名字,case when 科目='数学' then 分数 else 0 end as 数学分数
,case when 科目='语文' then 分数 else 0 end as 语文分数
,case when 科目='英语' then 分数 else 0 end as 英语分数
from 表
group by 名字
如果科目不止数学,语文,英语,要在语句相应增加,就是如
case when 科目='新科目' then 分数 else 0 end as 新科目分数
再用select语句创建新表就可以了,用以下语句创建新表
select 名字,case when 科目='数学' then 分数 else 0 end as 数学分数
,case when 科目='语文' then 分数 else 0 end as 语文分数
,case when 科目='英语' then 分数 else 0 end as 英语分数
into 新表 from 表
group by 名字