读书人

请问SQL语句

发布时间: 2012-02-13 17:20:26 作者: rapoo

请教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) 方法 转换就可以

读书人网 >Mysql

热点推荐