我不知道如何问我的问题,所以我将解释我正在尝试做的事情:我正在 Delphi XE 中构建一个应用程序,它应该根据产品配方和订单计算原材料的消耗量。
我有 5 个表:订单、订单内容、产品、原材料和食谱。每个订单由几个产品组成,每个产品都有自己的原材料配方。
我已经在 Query1 中使用 sql 总结了所有订单中的所有产品。这是 Query1 的命令:
select Products.Price,
OrdersContent.ID_Product, sum(OrdersContent.QNT) as QNT_Sum,
(Products.Price * sum(OrdersContent.QNT)) as Value
from Orders, OrdersContent, Products
where Orders.ID = OrdersContent.ID_Order
and Products.ID = OrdersContent.ID_Product
group by
OrdersContent.ID_Product, Products.Price
这将返回:
|Price | ID_Product | QNT_Sum | Value |
----------------------------------------
| 2 | 122521 | 150 | 300 |
| 10 | 366547 | 10 | 100 |
| xxx | xxxxxx | xxx | xxxxx|
这正是我想要的。
所以现在我想知道是否有一种方法也可以使用 sql 来计算原材料消耗,因为我知道如何做到这一点的唯一另一种方法是遍历整个 Query1 并分别计算每个记录(产品)的原材料消耗,将其添加到新表中,然后对结果进行汇总,这非常耗时。
我很确定必须有一种更有效的方法来做到这一点,但不知道如何或在哪里搜索如何做到这一点。我不是要代码,而是要一些指向教程或示例的指针或链接。
我希望我足够清楚,如果没有,请询问更多信息。