我使用 MariaDB 并有两个表(订单、invoiced_positions),我需要计算每个项目的发票和付款数量。所以我需要按 item_name 计算行数和分组。问题在于某些项目已重新打开:因此我需要从未重新打开的发票中减去重新打开的发票数量。基本上:我想为所有项目做我在这里只为一个项目取得的成就:
SELECT
(SELECT COUNT(item_name = 'Streuselkuchen')
FROM orders, invoiced_positions
WHERE order_id = id AND reopened = 0)
- (SELECT COUNT(item_name = 'Streuselkuchen')
FROM orders, invoiced_positions
WHERE order_id = id AND reopened != 0) AS Difference;
我认为这可以通过此处所示的条件聚合来实现,但我无法将其应用于我的特定任务。