以文本方式查看主题 - 搭建论坛 (http://bbs.diylsoft.com:8118/starforum/index.asp) -- 数据库交流 (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=6) ---- 再次请教SQL语句,希望能得到回答,多谢了 (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=6&id=27743) |
-- 作者:wenti -- 发布时间:2009-10-16 11:18:41 -- 再次请教SQL语句,希望能得到回答,多谢了 请教一个查询语句 有任意两个表,其中有一个相同字段,举例如下 表1: 名称,入库数量 表2: 名称,销售数量 表3 名称 ,退货数量 表4 名称,报废数量 现在想按名称做一个统计查询表3,查询后的结果格式为, 名称 库存数量 比如:表1 名称 ,入库数量 苹果 20 苹果 30 黄瓜 40 表2 ,名称 销售数量 苹果 10 苹果 5 表3 …… 表4…… 查询后统计结果为 表3 名称 库存数量 苹果 黄瓜 库存数量=入库数量-销售数量-报废数量-退货数量 求这一句SQL 查询语句 ,谢谢! |
-- 作者:引力波 -- 发布时间:2009-10-16 11:55:32 -- 先对四个表分别进行分组统计,并将统计结果存如临时表中,最后将四个临时表的结果再做统计. 分组统计、保存用下面的语句:如对“表1”统计 insert into 临时表1 select 名称, sum(入库数量) from 表1 group by 名称 最后合并统计用下面的语句: select 名称, 库存数量(A.入库数量-B.销售数量-C.报废数量-D.退货数量) from 临时表1 A,临时表2 B,临时表3 C,临时表4 D |
-- 作者:wenti -- 发布时间:2009-10-16 12:36:14 -- 万分感谢引力波的帮助,谢谢了,我试下 ,如果要再一次查询,那么临时表里的数据还要删除吗,是不是自动清空的呢 如果再次查询需要删除临时表的数据,那么如果数据很多的时候,删除数据就需要很长时间了 如果解决查询时的速度问题呢 |
-- 作者:引力波 -- 发布时间:2009-10-16 13:58:49 -- 补充一下,后面增加一个条件控制: select 名称, 库存数量(A.入库数量-B.销售数量-C.报废数量-D.退货数量) from 临时表1 A,临时表2 B,临时表3 C,临时表4 D where A.名称=B.名称=C.名称=D.名称 当然,每次都需要删除临时表中的记录,采用SQL命令这个过程对速度影响不大。 |
-- 作者:wenti -- 发布时间:2009-10-16 15:53:46 -- 能否先在access里,先做个查询呢,然后ADO查询构建,直接调取access里的查询表,不知道ADO查询构建是否能连接到access查询的表,这个查询速度都不到1秒,数据再多都不受影响 |
-- 作者:引力波 -- 发布时间:2009-10-16 16:34:25 -- ADO查询构件必须与数据库连接,前面的SQL命令本身就是执行查询、统计事件,不需要你说的这些过程。 |