toyota usa:sql 或ASP 高手请进——有关库存

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/04 06:41:46
我帮人问的。。

我要求物品的库存数
主表tb_main 的结构如下
s_mod prod_type p_sum
入库 A 10
入库 B 3
出库 A 4
入库 A 1
出库 A 5
入库 B 7
出库 B 2
我需要分别算出A、B的最终库存数(应该是A=2,B=8)

我就写到下面的样子不会继续了
sql0="select sum(p_sum) as in_sum,prod_type as 物品型号,max(prod_nm) as 物品名称,max(s_mod) as 状态 from tb_main
where a_date >=#"& request.form("bt") &"# and a_date<=#"& request.form("et") &"# and f_nm='"&request.form("fm")&"' and s_mod='入' and prod_type='"&request.form("wp")&"' group by prod_type
union
select sum(p_sum) as in_sum,prod_type,max(prod_nm) as 物品名称,max(s_mod) as 状态 from tb_main
where a_date >=#"& request.form("bt") &"# and a_date<=#"& request.form("et") &"# and f_nm='"&request.form("fm")&"' and s_mod='出' and prod_type='"&request.form("wp")&"' group by prod_type"

很简单:
一条SQL,SQL Server 通过测试。

SELECT SUM(p_SUM) AS p_SUM, prod_type
FROM (SELECT SUM(p_sum) AS p_SUM, prod_type
FROM tb_main
WHERE s_mod = '入库'
GROUP BY prod_type
UNION
SELECT - 1 * SUM(p_sum) AS p_SUM, prod_type
FROM tb_main
WHERE s_mod = '出库'
GROUP BY prod_type)
GROUP BY prod_type