1

Order 表包含订单列表以及每个订单的客户 ID。并且不同的订单可以有相同的客户 ID,这意味着一个公司已经下了多个订单(假设客户 ID 是公司的 ID)。

公司名称来自客户表,我的目标是选择订单数量超过 X 的公司名称。

现在,我的第一步是将这两个表连接起来进行比较,然后我也可以选择公司名称,但是我对如何只选择超过X个订单的公司感到困惑。

到目前为止,我有这个,它为他们发出的 X 数量的订单写了 X 次公司名称。

SELECT CompanyName
    FROM Orders, Customers
        WHERE Orders.CustomerID = Customers.CustomerID;

我如何只获得大于 X 订单的公司名称?我尝试使用 WHERE COUNT(CompanyName)>3 ,但这只是给出了错误。我认为我没有学到任何其他方法来量化列中的选择。

4

1 回答 1

2
 SELECT CompanyName
    FROM Orders
    JOIN Customers ON Orders.CustomerID = Customers.CustomerID
GROUP BY CompanyName
  HAVING COUNT(CompanyName) > 3
于 2012-11-07T20:36:37.333 回答