日期:2014-05-16  浏览次数:20676 次

请教SQL语句
表a结构为
字段1     |     字段2
------------------
A01               001
A01               002
A01               003
A01               009
B01               001
B01               002
B01               089
...

现请教用SQL达到以下数据要求:
字段1   |   字段2   |   字段3   |   字段4   |   字段5   |   字段6
A01               001           002           003           009
B01               001           002                                       089
...

谢谢!

------解决方案--------------------
MySQL4.0 没有存储过程。

select Name ,sum(case when Subject = '语文 ' then ifnull(Result,0) else 0 end ) as '语文 ',sum(case when Subject = '数学 ' then ifnull(Result,0) else 0 end ) as '数学 ',sum(case when Subject = '英语 'then ifnull(Result,0) else 0 end ) as '英语 '
from t
where 1 group by Name


实际使用时,要注意转换标点符号。( '语文 ' 两面的单引号可能不对)
本sql没有经过调试。

------解决方案--------------------
先给相同的f1的数据编号。然后用个理论上限,比如20个
然后用 whalefish2001(whale) 方法 转换就可以