ID---KEY---createtime---updatetime----所属作业ID
1----k1----2008/8/7-----2008/8/7------zy1
2----k2----2008/8/7-----2008/8/7------zy1
3----k3----2008/8/7-----2008/8/7------zy2
4----k4----2008/8/7-----2008/8/7------zy3
作业表:
ID---KEY---作业名称---布置者
zy1--k5----XX作业----XX老师
zy2--k6----SS作业----TT老师
zy3--k7----JJ作业----QQ老师
zy4--k8----OO作业----UU老师 查出下面的效果: 作业key 作业name 日期 问题量
key ----我给的作业名----我给的日期-----问题量 日期是可变的,只有年/年月/年月日
结果就是查出我给的作业名在我给着这个时间内一共有多少问题量
1----k1----2008/8/7-----2008/8/7------zy1
2----k2----2008/8/7-----2008/8/7------zy1
3----k3----2008/8/7-----2008/8/7------zy2
4----k4----2008/8/7-----2008/8/7------zy3
作业表:
ID---KEY---作业名称---布置者
zy1--k5----XX作业----XX老师
zy2--k6----SS作业----TT老师
zy3--k7----JJ作业----QQ老师
zy4--k8----OO作业----UU老师 查出下面的效果: 作业key 作业name 日期 问题量
key ----我给的作业名----我给的日期-----问题量 日期是可变的,只有年/年月/年月日
结果就是查出我给的作业名在我给着这个时间内一共有多少问题量
declare @name nvarchar(1000),@date datetime
select [作业key]=a.[key],[作业name]=@name,日期=@date,问题量=count(*)
from 作业表 a join 问题表 b on a.id=b.所属作业ID
where a.作业名称=@name and datediff(d,createtime,@date)=0
--> 测试数据: @s
declare @s table (ID int,[KEY] varchar(2),createtime datetime,updatetime datetime,所属作业ID varchar(3))
insert into @s
select 1,'k1','2008/8/7','2008/8/7','zy1' union all
select 2,'k2','2008/8/7','2008/8/7','zy1' union all
select 3,'k3','2008/8/7','2008/8/7','zy2' union all
select 4,'k4','2008/8/7','2008/8/7','zy3'
--> 测试数据: @作业表
declare @作业表 table (ID varchar(3),[KEY] varchar(2),作业名称 varchar(6),布置者 varchar(6))
insert into @作业表
select 'zy1','k5','XX作业','XX老师' union all
select 'zy2','k6','SS作业','TT老师' union all
select 'zy3','k7','JJ作业','QQ老师' union all
select 'zy4','k8','OO作业','UU老师'
select a.[key],b.作业名称,a.createtime,(select count(1) from @s where 所属作业ID=a.所属作业ID) from @s a,@作业表 b where a.所属作业ID=b.id