求高手 :mysql 怎么合并一列里相同的字段,并写到新的表中

原来表结构:
id 名字 科目 分数
1 小明 数学 90
2 小东 语文 80
3 小华 英语 55
4 小明 语文 88
5 小明 化学 75
6 小东 物理 67
新表:
id 名字 数学 语文 英语 化学 物理
1 小明 90 88 0 75 0
2 小东 0 0 0 0 67

select id,名字,sum(数学) 数学,
sum(语文) 语文.sum(英语) 英语,sum(化学) 化学,sum(物理) 物理 from
(select id,名字,case when 科目='数学' then 分数 else 0 end as 数学,
case when 科目='语文' then 分数 else 0 end as 语文,
case when 科目='英语' then 分数 else 0 end as 英语,
case when 科目='化学' then 分数 else 0 end as 化学,
case when 科目='物理' then 分数 else 0 end as物理 from 表名)
group by id,姓名追问

怎么写到新表?

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-15
select s.id,s.名字,
sum(case s.科目 when '数学' then s.分数 else 0 end) as 数学,
sum(case s.科目 when '语文' then s.分数 else 0 end) as 语文,
sum(case s.科目 when '英语' then s.分数 else 0 end) as 英语,
sum(case s.科目 when '化学' then s.分数 else 0 end) as 化学,
sum(case s.科目 when '物理' then s.分数 else 0 end) as 物理,
from student s
group by s.id,s.名字

试试吧追问

怎么写到新表?

第2个回答  2011-08-28
上网搜索一下“Delphi & VB事件断点查找脚本”。这个是OD的脚本之一,可以直接定位到按钮事件,然后一步一步往下走就很简单
相似回答
大家正在搜