我正在为一个库存系统构建一个简单的数据库,带有条形码阅读器。我有一个表单来添加库存,还有一个表单来删除库存。每次调整都会向添加或删除表添加一列。
我对我的添加和删除进行了查询,返回每个项目的总价值,与每个项目的ID相关联。我想加入我的添加和删除表格,以便我可以计算当前数量的差异。
加入我的add子查询和remove子查询时遇到了麻烦。
添加:
SELECT Items.description, Count(Trans_Add.s) AS Quantity
FROM Items INNER JOIN Trans_Add ON Items.ID = Trans_Add.s
GROUP BY Items.description;
卸下:
SELECT Items.description, Count(Trans_Remove.s) AS Quantity
FROM Items INNER JOIN Trans_Remove ON Items.ID = Trans_Remove.s
GROUP BY Items.description;
每当我尝试在新查询的from子句中为其中任何一个分配别名并加入它们时,它都不起作用。
答案 0 :(得分:3)
尝试:
SELECT Items.ID, Items.Description, (Items.TotalCount + A.Quantity - B.Quantity) as OnHandQty
FROM Items INNER JOIN
(SELECT Items.ID, Count(Trans_Add.s) AS Quantity
FROM Items INNER JOIN Trans_Add ON Items.ID = Trans_Add.s
GROUP BY Items.description
) A
ON Items.ID = A.ID
INNER JOIN (
SELECT Items.description, Count(Trans_Remove.s) AS Quantity
FROM Items INNER JOIN Trans_Remove ON Items.ID = Trans_Remove.s
GROUP BY Items.description
) B
ON Items.ID = B.ID
我编写了一个名为TotalCount
的字段,因为您没有提到Items
表中的项目数量是什么。所以,相应地改变它,也就是说,根据
来自Items
表的项目数量的右侧字段名称。