关于数据库读取的方法,横向读取并进行筛选.
做成绩系统遇到问题,这样的表读取该怎么写
id name xuehao cj kemu_id banID
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
……
这样一个表现在我要这样读取数据,筛选banid为1
姓名 学号 语文 数学 政治 英语 美术
张三 200701 99 60 79 75
李四 ……
查询一个班,每个班科目基本是一样的,但是可能出现选修,也就是张3选修的科目李四没有,那么自动填充一个无。
------解决方案--------------------select name as '姓名 ',xuehao as '学号 ',isnull((select sum(cj) from Table2 where xuehao=a.xuehao and kemu_id= '语文 ' and banID=a.banid), '无 ') as '语文 ',.....
from table1 a group by name,xuehao