1

我正在为带有条形码阅读器的库存系统构建一个简单的数据库。我有一张表格可以添加库存,还有一张表格可以删除库存。每次调整都会向添加或删除表添加一列。

我对我的 add 和 remove 进行了查询,它返回每个项目的总值,与每个项目的 id 相关联。我想加入我的添加和删除表,以便计算当前数量的差异。

我在加入我的添加子查询和删除子查询时遇到了麻烦。

添加:

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 子句中为任何一个分配别名并加入它们时,它都不起作用。

4

1 回答 1

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表中的项目数量的正确字段名称。

于 2013-10-31T12:00:10.513 回答