access数据库select 联接表的问题(50)

  • 主题发起人 主题发起人 aynes
  • 开始时间 开始时间
A

aynes

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有表零件表 A品名 库存量 11 3022 30 33 30 44 30 入库表 B品名 入库数量 入库时间11 10 2010-07-1011 5 2010-08-0111 3 2010-07-2022 4 2010-07-1022 5 2010-08-01出库表 C品名 出库数量 出库时间11 5 2010-07-1511 6 2010-08-2033 5 2010-07-2033 5 2010-08-0133 6 2010-08-06每个表之间的联系是 品名想要得到的结果是品名 库存量 入库量 出库量11 30 18 1122 30 9 0 33 30 0 16想法是 数据表A B C通过品名 联接起来几个条件:1 入库量与出库量 2个都不存在,不显示 2 入库量或出库量 某一个不存在,显示0 如果入库出库时间上加上限制,比如说是,只能显示7月份数据,又该如何作?
 
select 零件表.品名, sum(零件表.库存量), sum(入库表.入库数量), sum(出库表.出库数量) from 零件表,入库表,出库表where 零件表.品名=入库表.品名 and 零件表.品名=出库表.品名group by 零件表.品名
 
select 零件表.品名, sum(零件表.库存量), sum(TA.入库数量), sum(TB.出库数量) from 零件表,(select 入库表.品名, 入库表.入库数量, 入库表.入库时间 from 入库表 where 入库表.入库时间) as TA,(select 出库表.品名, 出库表.入库数量, 出库表.出库时间 from 出库表 where 出库表.出库时间) as TBgroup by 零件表.品名
 
正确答案应该是:select c11.品名,c11.数量,c11.出库数量,b1.入库数量 from (select a.品名,a.数量,c1.出库数量 from a left join (select c.品名,sum(c.出库数量) as 出库数量 from c group by 品名) c1 on a.品名=c1.品名 ) c11 left join (select b.品名,sum(b.入库数量) as 入库数量 from b group by b.品名) b1 on c11.品名=b1.品名
 
接受答案了.
 
后退
顶部