我有以下表格:
客户(custID)
订单(orderID,custID)
采购订单(产品编号,订单编号,金额)
我想选择每个custID和订购的产品总数。我有以下代码:
SELECT c.custId (COUNT(po.amount)) totalOrders
FROM Customer c
INNER JOIN "Order" o
ON c.custId = o.custId
INNER JOIN PO po
ON o.orderId=po.orderId;
我收到以下错误:
找不到列“ c”或用户定义的函数,或者
聚合“ c.custId”,或者名称不明确。
最佳答案
您需要一个group by
。您不需要客户表。您需要SUM()
,而不是COUNT()`。而且您的语法刚刚关闭:
SELECT o.custId, SUM(po.amount) as totalOrders
FROM "Order" o INNER JOIN
PO po
ON o.orderId=po.orderId
GROUP BY o.custId;
关于mysql - 每个客户订购的产品总数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58906903/