Rss & SiteMap
搭建论坛 http://bbs.diylsoft.com:8118/starforum/index.asp
有任意两个表,其中有一个相同字段,举例如下
表1: 名称,入库数量
表2: 名称,销售数量
表3 名称 ,退货数量
表4 名称,报废数量
现在想按名称做一个统计查询表3,查询后的结果格式为, 名称 库存数量
比如:表1 名称 ,入库数量
苹果 20
苹果 30
黄瓜 40
表2 ,名称 销售数量
苹果 10
苹果 5
表3 ……
表4……
查询后统计结果为 表3 名称 库存数量
苹果
黄瓜
库存数量=入库数量-销售数量-报废数量-退货数量
求这一句SQL 查询语句 ,谢谢!
先对四个表分别进行分组统计,并将统计结果存如临时表中,最后将四个临时表的结果再做统计.
分组统计、保存用下面的语句:如对“表1”统计
insert into 临时表1 select 名称, sum(入库数量) from 表1 group by 名称
最后合并统计用下面的语句:
select 名称, 库存数量(A.入库数量-B.销售数量-C.报废数量-D.退货数量) from 临时表1 A,临时表2 B,临时表3 C,临时表4 D
万分感谢引力波的帮助,谢谢了,我试下
,如果要再一次查询,那么临时表里的数据还要删除吗,是不是自动清空的呢
insert into 临时表1 select 名称, sum(入库数量) from 表1 group by 名称
如果再次查询需要删除临时表的数据,那么如果数据很多的时候,删除数据就需要很长时间了
如果解决查询时的速度问题呢
补充一下,后面增加一个条件控制:
select 名称, 库存数量(A.入库数量-B.销售数量-C.报废数量-D.退货数量) from 临时表1 A,临时表2 B,临时表3 C,临时表4 D where A.名称=B.名称=C.名称=D.名称
当然,每次都需要删除临时表中的记录,采用SQL命令这个过程对速度影响不大。