日期:2014-05-18  浏览次数:20731 次

一个简单的SQL数据查询,大家来帮帮忙,只有10分了,倾囊而出..在线等,解决就给分
id     cj_name     cj_xh     cj_cj   cj_kmid     cj_bid
1       张三           200701     88         语文         1
2       张三           200701     79         政治         1
3       张三           ......     60         数学         1
4       张三           200701     58         英语         1
5       李四           200703     99         语文         1
6       李四           200703     35         英语         1
7       张三           200701     75         美术         1
8       王五           200704     90         政治         2

比如现在我需要查询bid为1的学生成绩,这样来输出

姓名   学号       语文       数学       英语       政治       美术
张三   200701     88         60           58           79           75
李四     ………………………………………………

上面对应的字段应该很清楚,都是拼音的第一个字母
查询一个班的学生~

------解决方案--------------------
select cj_name as 姓名,Cj_xh as 学号,
语文=max(case cj_kmid when '语文 ' then cj_cj end),
数学=max(case cj_kmid when '数学 ' then cj_cj end),
英语=max(case cj_kmid when '英语 ' then cj_cj end),
政治=max(case cj_kmid when '政治 ' then cj_cj end),
美术=max(case cj_kmid when '美术 ' then cj_cj end)
from

group by cj_name,cj_xh