每个客户订购的产品总数

时间:2019-11-18 01:28:49

标签: mysql sql sql-server database relational-database

我有下表:

客户( 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”,或者名称不明确。

1 个答案:

答案 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;