Office中国论坛/Access中国论坛
标题: 如何实现各类商品库存实时查询提取? [打印本页]
作者: zylf 时间: 2006-8-24 00:37
标题: 如何实现各类商品库存实时查询提取?
如何实现各类商品库存实时查询提取?
日期 商品名称 进/销 库存
2005-12-1 百事可乐 5 5
2005-12-1 矿泉水 2 2
2005-12-1 百事可乐 -2 3
2005-12-1 矿泉水 -1 1
2005-12-2 百事可乐 -1 2
2005-12-2 矿泉水 5 6
2005-12-2 矿泉水 -4 2
2005-12-2 百事可乐 4 6
2005-12-2 百事可乐 -1 5
在上表中,希望查询提取出百事可乐=5;矿泉水=2的现在库存。
各位大师们,能帮帮我吗?
见附件:[attach]19953[/attach]
[此贴子已经被作者于2006-8-23 16:39:23编辑过]
作者: wwwwa 时间: 2006-8-24 00:52
try:
select * from (
SELECT a.编号,a.日期,a.商品名称,a.进销,sum(b.进销) as 库存
FROM Table1 a
left join table1 b on a.商品名称=b.商品名称 and a.编号>=b.编号
group by a.编号,a.日期,a.商品名称,a.进销)
where (商品名称='百事可乐' and 进销=5) or (商品名称='矿泉水' and 进销=2)
作者: zylf 时间: 2006-8-24 01:22
标题: 请原谅我没说清楚问题。
谢谢老师的回答,因为我没说表达清楚问题,您没理解我的意思。
我的本意是:不论动态的库存是多少,查询能将当时各种商品的余数(即累加到最后的数量)记录提取出来。比如当我在12-3又进了1箱百事可乐、销了2箱矿泉水后,查询能动态地提取出 百事可乐=6;矿泉水=0。
[此贴子已经被作者于2006-8-23 17:27:03编辑过]
作者: wwwwa 时间: 2006-8-24 17:18
你的意思是否是最后一次库存?如是:
SELECT a.*
FROM [SELECT a.编号,a.日期,a.商品名称,a.进销,sum(b.进销) as 库存
FROM Table1 a
left join table1 b on a.商品名称=b.商品名称 and a.编号>=b.编号
group by a.编号,a.日期,a.商品名称,a.进销]. AS a INNER JOIN (select 商品名称,max(编号) as ma from Table1 group by 商品名称) AS b ON (a.编号=b.ma) AND (a.商品名称=b.商品名称);
作者: andymark 时间: 2006-8-24 18:45
单纯查询最后库存下面的也可以
SELECT Table1.商品名称, Sum(Table1.进销) AS 库存
FROM Table1
GROUP BY Table1.商品名称
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |