sql 合并重复记录
有一个学生成绩表A,ID,NAME,Subject,scores1,张三,语文,77s1,张三,数学,66s2,李四,语文,99s2,李四,数学,88我想查询得到:ID,...
有一个学生成绩表A,
ID,NAME,Subject,score
s1,张三,语文,77
s1,张三,数学,66
s2,李四,语文,99
s2,李四,数学,88
我想查询得到:
ID,NAME,语文,数学
s1,张三,77,66
s2,李四,99,88
应该怎样写SQL语句?麻烦各位了。 展开
ID,NAME,Subject,score
s1,张三,语文,77
s1,张三,数学,66
s2,李四,语文,99
s2,李四,数学,88
我想查询得到:
ID,NAME,语文,数学
s1,张三,77,66
s2,李四,99,88
应该怎样写SQL语句?麻烦各位了。 展开
4个回答
展开全部
select id,name, max(case
Subject when '语文' then score
else 0
end ) as 语文,
max(case
科目 when '数学' then score
else 0
end ) as 数学
from a
group by id,name
需要用case end语句来控制条件
Subject when '语文' then score
else 0
end ) as 语文,
max(case
科目 when '数学' then score
else 0
end ) as 数学
from a
group by id,name
需要用case end语句来控制条件
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用个分组语句,应该很好写的撒:SQL>select ID,NAME,sum(case Subject when '语文' then score else 0 end) 语文,sum(case Subject when '数学' then score else 0 end) from A group by ID,NAME;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select id,name, max(case Subject when '语文' then score else 0 end ) 语文,
max(case 科目 when '数学' then score else 0 end ) 数学
from a
group by id,name
max(case 科目 when '数学' then score else 0 end ) 数学
from a
group by id,name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这不就是行专列吗,顶楼上的……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询