我正在使用Access 2016上的小型库存数据库项目。
我在实施产品表和 ProductUnit 表时遇到问题,其中以下业务规则为真:
我对表的实现如下:
产品
| ProductID | ProductName | ... |
| 1 | A | ... |
| 2 | A(2set) | ... |
| 3 | B | ... |
| 4 | A(2set) + B | ... |
| 5 | C | ... |
ProductUnit
| ProductID | ProductUnitID | Qty |
| 2 | 1 | 2 |
| 4 | 2 | 1 |
| 4 | 3 | 1 |
ProductUnitID
是构成特定ProductID
的产品或特殊产品
回想一下,产品可能由许多产品组成。因此, ProductUnitID
表格中的每个ProductID
可能有多个ProductUnit
。
现在,让我们说我有一个样本表,我会记录我的产品库存。
示例
| ID |ProductID | Qty |
| 1 | 5 | 3 |
| 2 | 4 | 1 |
| 3 | 1 | 1 |
如果我希望将ProductID = 2, ProductName = A(2set)
等产品计为ProductID = 1, ProductName = A
的两个产品,我将如何生成查询以计算我的库存产品?
这同样适用于ProductID = 4, ProductName = A(2set) + B
我将拥有一个A(2set)
产品和一个B
产品,而A(2set)
个产品将有两个A
产品。
附加说明:您可以忽略以下
我想到递归查询(如果有这样的事情)只会将每个特殊产品分解成产品,直到每个产品只是一个产品。单个产品未出现在 ProductUnit 表中
但是,我非常怀疑这是可能的。