问题表:
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老师
修改记录表
ID--------问题ID-------修改者---------修改时间
1001-------2----------TT老师 --------200-8-8
1002-------2----------TT老师 --------200-8-8
1003-------2----------TT老师 --------200-8-8
1004-------2----------QQ老师 --------200-8-8注:一个修改着可重复修改1个问题多次也可修改别的问题
修改详细表
ID---------修改记录ID----------修改的地方
10001--------1001---------------问题内容
10002--------1001--------------加了条批注
10003--------1001---------------删了条批注
10004--------1002---------------加了赞美语注:每次修改可同时修改一个问题的多个地方
问题表与作业表 由问题表的‘所属作业ID’和作业表的ID关联问题表与修改记录表 由问题表的ID与修改记录表的问题ID关联修改记录表与修改详细记录表 由修改记录表的ID关联
查的是...............指定修改者 在指定的作业 一共修改了多少问题,修改的地方各种种类分别是多少个
我现在的SQL
select a.修改者,date_format(a.修改日期),b.修改的类别
from 问题表 i,作业表 p,修改记录表 a,修改详细记录表 b
where i.所属作业ID=p.作业ID
and i.问题ID=a.问题ID
and a.ID=b.修改表IDand a.修改者=‘XX’
and p.作业名=‘asdasdasd’
我想查出来的效果是修改者-------2008-8-8---------一共修改了多少---------加了赞美语有占几个----加了条批注占几个---**占几个---YY占几个
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老师
修改记录表
ID--------问题ID-------修改者---------修改时间
1001-------2----------TT老师 --------200-8-8
1002-------2----------TT老师 --------200-8-8
1003-------2----------TT老师 --------200-8-8
1004-------2----------QQ老师 --------200-8-8注:一个修改着可重复修改1个问题多次也可修改别的问题
修改详细表
ID---------修改记录ID----------修改的地方
10001--------1001---------------问题内容
10002--------1001--------------加了条批注
10003--------1001---------------删了条批注
10004--------1002---------------加了赞美语注:每次修改可同时修改一个问题的多个地方
问题表与作业表 由问题表的‘所属作业ID’和作业表的ID关联问题表与修改记录表 由问题表的ID与修改记录表的问题ID关联修改记录表与修改详细记录表 由修改记录表的ID关联
查的是...............指定修改者 在指定的作业 一共修改了多少问题,修改的地方各种种类分别是多少个
我现在的SQL
select a.修改者,date_format(a.修改日期),b.修改的类别
from 问题表 i,作业表 p,修改记录表 a,修改详细记录表 b
where i.所属作业ID=p.作业ID
and i.问题ID=a.问题ID
and a.ID=b.修改表IDand a.修改者=‘XX’
and p.作业名=‘asdasdasd’
我想查出来的效果是修改者-------2008-8-8---------一共修改了多少---------加了赞美语有占几个----加了条批注占几个---**占几个---YY占几个
date_format(a.修改日期,'%Y-%m-%d') as 修改日期,
count(distinct i.ID) as 一共修改了多少,
sum(case b.修改的地方 when '加了赞美语' then 1 else 0 end) as 加了赞美语有占几个,
sum(case b.修改的地方 when '加了条批注' then 1 else 0 end) as 加了条批注占几个
from 问题表 i,作业表 p,修改记录表 a,修改详细记录表 b
where i.所属作业ID=p.作业ID
and i.问题ID=a.问题ID
and a.ID=b.修改表ID
and a.修改者=‘XX’
and p.作业名=‘asdasdasd’
group by a.修改者,date_format(a.修改日期,'%Y-%m-%d')
from 问题表 i,作业表 p,修改记录表 a,修改详细记录表 b
where i.所属作业ID=p.作业ID
and i.问题ID=a.问题ID
and a.ID=b.修改表ID and a.修改者=‘XX’
and p.作业名=‘asdasdasd’ 查出来的效果是修改者---------修改日期------------修改类别
张三------------05-8-8------------修改注释
张三------------05-8-8------------添加注释
张三------------05-8-8------------删除一段文字
张三------------05-8-8------------修改注释张三------------06-8-8------------修改注释张三------------09-8-8------------删除一段文字而我需要查出来的是,把上面的归类就成为修改者-----修改日期-------一共修该几次-------修改注释占几次-------添加注释占几次----删除文字占几次
张三--------05-8-8----------4----------------2--------------------1---------------1
张三--------06-8-8----------1----------------1--------------------0---------------0
张三--------09-8-8----------1----------------0--------------------0---------------1
最终效果就像这样的
date_format(a.修改日期,'%Y-%m-%d') as 修改日期,
count(*) as 一共修改了多少,
sum(case b.修改的地方 when '加了赞美语' then 1 else 0 end) as 加了赞美语有占几个,
sum(case b.修改的地方 when '加了条批注' then 1 else 0 end) as 加了条批注占几个,
sum(case b.修改的地方 when '删除文字' then 1 else 0 end) as 删除文字占几次
from 问题表 i,作业表 p,修改记录表 a,修改详细记录表 b
where i.所属作业ID=p.作业ID
and i.问题ID=a.问题ID
and a.ID=b.修改表ID
and a.修改者=‘XX’
and p.作业名=‘asdasdasd’
group by a.修改者,date_format(a.修改日期,'%Y-%m-%d');