从两个售出的桌子计算库存

问题描述 投票:0回答:1

先生,我在MS Access和MS-SQL Server中有三个表,分别是STOCK,SOLD和SOLD1。我的问题是如何明智地计算总库存SKU。 (库存-已售出和已售出2张桌子的库存总和)

Access Table Diagram

我已经尝试过在带有STOCK表的两个已售表上使用Left Joins,但是我得到了错误的答案。即,售出的餐桌库存被计算两次或三次。

就此而言,我试图单独计算已售出的库存,但我总共错了SOLD2。

我的查询是

SELECT STOCK.ID, STOCK.SKU, STOCK.QTY, Sum(SOLD.QTY) AS SS1, Sum(SOLD2.QTY) AS SS2 
FROM (STOCK LEFT JOIN SOLD ON STOCK.SKU = SOLD.SKU) 
LEFT JOIN WSITEMS AS SOLD2 ON STOCK.SKU = SOLD2.SKU 
GROUP BY STOCK.ID, STOCK.SKU, STOCK.QTY;

QUERY RESULT

((在SOLD2中,SKU 1003为20,但显示40,而SKU 1005 IS为30,但显示120)

您能告诉我如何从两张售出的桌子计算后如何获得正确的售出数量。

我先尝试了访问,但是我也希望它用于SQL SERVER。

sql join access
1个回答
0
投票

这是您要寻找的

     SELECT STOCK.ID,STOCK.SKU,STOCK.QTY, 
      SOLDA.TOTAL AS SOLD_QTY FROM STOCK LEFT 
       JOIN
       (SELECT SKU,  Sum(QTY) AS TOTAL from SOLD 
        group by SOLD.SKU
        Union all
         SELECT SKU,  Sum(QTY) AS TOTAL  from SOLD2 
         group by SKU) AS SOLDA
         ON STOCK.SKU=SOLDA.SKU
© www.soinside.com 2019 - 2024. All rights reserved.