我有下表:
客户( custID )
订单( orderID ,客户ID)
PO(产品ID ,订单ID,金额)
我想选择每个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”,或者名称不明确。
答案 0 :(得分:2)
您需要一个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;