SQL高手进来,100分求SQL语句(着急啊!!!)

来源:百度知道 编辑:UC知道 时间:2024/05/05 22:07:26
我的QQ:532520209 (需要的话可以传数据库)

要求实现以下字段:
店铺名称,产品编号,类别,期初发货,期初退货,期初销售,期初库存,本期发货,本期退货,本期销售,本期库存

以下代码是我写的一部分,只能够查出“期初”的数据,但是期初库存计算不出来,请高手帮忙。还有本期的数据也帮忙。数据库代码是Access的。

SELECT fh.店铺名称, fh.产品编号, fh.类别, fh.期初发货, th.期初退货, xs.期初销售,(fh.期初发货-th.期初退货-xs.期初销售) AS 期初库存

FROM (

[SELECT 店铺名称 ,产品编号 ,类别 ,SUM(发货数量) AS 期初发货 FROM 产品发货表 WHERE 店铺名称 BETWEEN '东方' And '重庆MM' AND 发货日期 BETWEEN # 99-01-01 # And # 2009-2-28 # AND 产品编号 BETWEEN '101-SA001-0801-0146' And '616-CO075-0802-9954' GROUP BY 店铺名称, 产品编号, 类别]. AS fh LEFT JOIN

[SELECT 店铺名称 ,产品编号 ,类别 ,SUM(退货数量) AS 期初退货 FROM 产品退货表 WHERE 店铺名称 BETWEEN '东方' And '重庆MM' AND 退货日期 BETWEEN # 99-01-01 # And # 2009-2-28 # AND 产品编号 BETWEEN '101-SA001-0801-0146' And '616-CO075-0802-9954' GROUP BY 店铺名称, 产品编号, 类别]. AS th ON (th.店铺名称=fh.店铺名称) AND (th.产品编号=fh.产品编号) AND (th.类别=fh.类别)) LEFT JOIN

[SELECT 店铺名称 ,产品编号 ,类别 ,SUM(销售数量) AS 期初

set nocount on
create table #temp
(店铺名称 nvarchar(100),
产品编号 nvarchar(100),
类别 nvarchar(100),
期初发货 int default 0,
期初退货 int default 0,
期初销售 int default 0,
期初库存 int default 0,
本期发货 int default 0,
本期退货 int default 0,
本期销售 int default 0,
本期库存 int default 0)

insert into #temp(店铺名称,产品编号,类别)
select distinct 店铺名称,产品编号,类别 from 产品发货表

update #temp set 期初发货 = t.a
from (select 店铺名称,产品编号,类别,sum(发货数量) a
from 产品发货表 where 发货日期< '日期L' and 店铺名称 < '店名L' and 产品编号 <'产品编号L'
group by 店铺名称,产品编号,类别)t
where t.店铺名称=#temp.店铺名称 and t.产品编号=#temp.产品编号 and t.类别=#temp.类别

update #temp set 期初退货 = t.a
from (select 店铺名称,产品编号,类别,sum(退货数量) a
from 产品退货表 where 退货日期< '日期L' and 店铺名称 < '店名L' and 产品编号 <'产品编号L'
group by 店铺名称,产品编号,类别)t
where t.店铺名称=#temp.店铺名称 and t.产品编号=#temp.产品编号 and t.类别=#temp.类别

update #