我想用其单位计算总购买库存,cunsume库存和当前库存。我使用下面的sqlquery给出了错误的结果。
我有3张不同的桌子1。 Purchase()包含购买记录2.消费(包含消费记录)3。Kichen项目(包含不同的kichen项目及其单位的名称)
。我使用下面的sqlquery给出了错误的结果。
select k.Data as 'Item Name', SUM(p.Quantity) as 'Purchased Stock', SUM(DISTINCT c.Used_Quantity) as 'Cunsumed Stock', (SUM(p.Quantity)- SUM(DISTINCT c.Used_Quantity)) as 'Current Stock', k.Unit
from kichenitems k, dailyCunsumtion c, dailyPurchase p
where c.Item_Name=p.Item_Name and k.Data =p.Item_Name and k.Data =c.Item_Name
group by k.Data,k.Unit
它给出了错误的结果告诉我告诉我正确的一个因此我无法获得所有项目名称与总购买库存,总消耗量和当前库存及其适当的单位。 提前谢谢......
答案 0 :(得分:0)
您必须在子查询中将不同记录与dailyCunsumtion隔离 - 然后您可以在外部查询中对它们进行SUM化。
试试这个:
SELECT
k.Data as 'Item Name'
, SUM(p.Quantity) as 'Purchased Stock'
, SUM(c.Used_Quantity) as 'Cunsumed Stock'
, SUM(p.Quantity - c.Used_Quantity) as 'Current Stock'
, k.Unit
FROM kichenitems k
INNER JOIN dailyPurchase p
AND p.Item_Name = k.Data
INNER JOIN (SELECT DISTINCT Item_Name
, Used_Quantity
FROM dailyCunsumtion) c
ON c.Item_Name = p.Item_Name
GROUP BY k.Data, k.Unit