两个表
表1学生表student
ID Name
1 小王
2 小李
表2每次考试的成绩 studentfz
NameID chengji kemu shijian
1 100 语文 2008-07-10
2 95 语文 2008-07-10
2 99 数学 2008-10-05
1 93 数学 2008-10-05
1 89 语文 2009-01-10
2 97 数学 2009-01-10
第一目的已经实现,即以姓名为引子查询出学生各科成绩的总和
select ID as 编号,Name as 姓名,Sum(case kemu when '语文' then chengji else 0 end) 语文总分 Sum(case kemu when '数学' then chengji else 0 end) 数学总分,sum(chengji) 全部总分 from studentfz a left join student b on a.NameID=b.ID group by Name,ID
现在的问题是:如何查出各时间段里的成绩
比如2008-10-05,和2009-01-10这是一个学期的,试过用where可是出错.
谢谢各位了,在线急等.
表1学生表student
ID Name
1 小王
2 小李
表2每次考试的成绩 studentfz
NameID chengji kemu shijian
1 100 语文 2008-07-10
2 95 语文 2008-07-10
2 99 数学 2008-10-05
1 93 数学 2008-10-05
1 89 语文 2009-01-10
2 97 数学 2009-01-10
第一目的已经实现,即以姓名为引子查询出学生各科成绩的总和
select ID as 编号,Name as 姓名,Sum(case kemu when '语文' then chengji else 0 end) 语文总分 Sum(case kemu when '数学' then chengji else 0 end) 数学总分,sum(chengji) 全部总分 from studentfz a left join student b on a.NameID=b.ID group by Name,ID
现在的问题是:如何查出各时间段里的成绩
比如2008-10-05,和2009-01-10这是一个学期的,试过用where可是出错.
谢谢各位了,在线急等.
where Name like '%" + txtNameSearch.Text.Trim() + "%' and shijian>'2008-10-05' and shijian<'2009-01-11'
一个where 下用了两个表的字段
+ txtNameSearch.Text.Trim() +是姓名查询的textbox
where b.Name like '%" + txtNameSearch.Text.Trim() + "%' and a.shijian>'2008-10-05' and a.shijian <'2009-01-11'
Sum(case kemu when '语文' then chengji else 0 end) 语文总分,
Sum(case kemu when '数学' then chengji else 0 end) 数学总分,
sum(chengji) 全部总分
from studentfz a left join student b
on a.NameID=b.ID
group by Name,ID
where a.shijian between '2008-10-05' and '2009-01-10'
where Name like %'" + txtNameSearch.Text.Trim() + "'%
and shijian>'2008-10-05' and shijian <'2009-01-11'