一个很敏琐的SQL语句的优化
我想采购下单的时候,可以即时查看到,业务定单主产品分解出子物料的需求数,当前库存量,已下单数,实际需求量
下面是SQL语句....各位牛人有啥优化方案
ALTER PROCEDURE dbo.Re_形式发票ID_工厂采购
(@形式发票ID int)
AS SELECT dbo.物料表.物料编码 AS 主产品编码, 物料表_1.物料编码 AS 子产品编码,
dbo.形式发票明细表.数量 * dbo.物料配置明细表.数量 AS 需求数, 下单数 AS 下单数,
TempTable2.库存数量
FROM (SELECT dbo.工厂采购单.形式发票ID, dbo.工厂采购明细单.产品ID,
SUM(dbo.工厂采购明细单.数量) AS 下单数
FROM dbo.工厂采购单, dbo.工厂采购明细单
WHERE 形式发票ID = @形式发票ID AND
dbo.工厂采购单.采购单编号 = dbo.工厂采购明细单.采购单编号
GROUP BY dbo.工厂采购明细单.产品ID, dbo.工厂采购单.形式发票ID)
TempTable INNER JOIN
dbo.形式发票明细表 ON
TempTable.形式发票ID = dbo.形式发票明细表.形式发票ID INNER JOIN
dbo.物料配置明细表 ON
TempTable.产品ID = dbo.物料配置明细表.物料ID INNER JOIN
dbo.物料配置主表 ON dbo.形式发票明细表.产品ID = dbo.物料配置主表.物料ID AND
dbo.物料配置明细表.物料配置ID = dbo.物料配置主表.物料配置ID INNER JOIN
dbo.物料表 物料表_1 ON dbo.物料配置明细表.物料ID = 物料表_1.物料ID INNER JOIN
dbo.物料表 ON dbo.物料配置主表.物料ID = dbo.物料表.物料ID INNER JOIN
(SELECT 物料编码, SUM(库存数量) AS 库存数量
FROM (SELECT dbo.物料表.物料编码,
dbo.物料分仓库配置明细单.期初数量 AS 库存数量
FROM dbo.物料分仓库配置单 INNER JOIN
dbo.物料表 ON
dbo.物料分仓库配置单.物料ID = dbo.物料表.物料ID LEFT OUTER JOIN
dbo.物料分仓库配置明细单 ON
&n