2010另一道java笔试题(数据库)
有4张表,分别是
bill(单据表,)
ID 主键
FName
fmizDate业务日期
fmarteryId 物类关系表ID
fusrId 经办人关系ID
。。。。
maritery(物料表)
id(主键)
fname(物料名称)
fsorcID物料分类关系表ID
.......
sorcy(物料分类表)
id(主键)
fname(分类名称)
amcount(价格)
。。。。
User(经办人表)
ID(主键)
username(经办人名称)
。。。。。。。
写一sql实现对每一物料,每一经办人,在XXX到XXX日期内的价格合计,因为每张表的数据都有很多,要求效率要高,还要写出索引(好像是这么说的啊,我也记的不太清了,反正就是跟索引有关系)请高人指教
物料 经办人 从xxxx-xx-xx到 xxxx-xx-xx 价格
物料1 1 XXX 200
物料2 2 230
特料1 1 。。。 200
物料2 2 .... 300
------解决方案--------------------SQL code
select m.id,u.id,sum(s.amcount)
from bill b, maritery m, sorcy s, user u
where b.fusrid = u.id
and b.fmarteryid = m.id
and m.fsorcid = s.id
and b.fmizdate between date1 and date2
group by m.id, u.id