我正在尝试创建一个查询,以查找每个客户欠公司的总金额是多少。导致问题的是子查询中的GROUP BY customerNumber
。
SELECT customerName,
customers.customerNumber,
SUM(quantityOrdered * priceEach) - ( SELECT SUM(amount) AS MoneyPayed FROM payments GROUP BY customerNumber ) AS AmountOwed
FROM payments
INNER JOIN customers ON payments.customerNumber = customers.customerNumber
INNER JOIN orders ON customers.customerNumber = orders.customerNumber
INNER JOIN orderdetails ON orders.orderNumber = orderdetails.orderNumber
GROUP BY customerNumber;
我要链接的表是payments
和orderdetails
。
[当我摆脱GROUP BY
时,由于从SUM
的每一行中减去了总SUM(quantityOrdered * priceEach)
的金额,所以我得到的结果都是负数。
如何更改此设置,以便我可以从付款中返回多行以从订单明细表的SUM(quantityOrdered * priceEach)
中减去。
作为StackOverflow链接到数据库不允许我发布图像
] >>
感谢您的帮助,如果格式不好,抱歉,这是我的第一篇文章。
我正在尝试创建一个查询,以查找每个客户欠公司的总金额是多少。是由子查询中的GROUP BY customerNumber造成的。 SELECT ...
您将需要几个子查询来满足您的要求。让我们分解一下。