【发布时间】:2015-02-05 11:28:50
【问题描述】:
我使用此 SQL 语句能够连接三个表(Order1、Order2 和 Customers),以显示每个客户来自他们所针对的每个城市的订单数量。但是,我怎样才能为至少完成三个订单的城市的客户显示订单数量的行呢?换句话说,我正在尝试汇总与完成三个以上订单的客户相关的城市。
表结构:
-
Customers具有列CustomerNr, City Name -
Order1 包含
Ordernr, CustomerNr列 -
Order2具有列Ordernr, Order quantity
到目前为止的 SQL 语句:
SELECT
Customers.CityName, Order2.OrderQuantity
FROM
Order1
INNER JOIN
Order2 ON Order1.ordernr = Order2.ordernr
INNER JOIN
Customers ON Customers.CustomerNr = Order1.CustomerNr
【问题讨论】:
-
如果您能提供一些关于输入和期望结果的示例数据,将会很有帮助。
-
我想要的结果是显示客户至少下了三个订单的城市的行,我想添加一个名为 AS 'Total quantity' 的列(到输出视图)和他们的订单总数,您可以从表 Order2 中的“订单数量”列中获得。
-
换句话说:输出应该在两列中:“城市名称”(列出客户至少下了三个订单的城市的行)和“订单数量”,应该是一列您添加 AS 'Order quantity' 以向这些客户显示总订单。并且可以从表“Order2”的“orderquantity”列中获取订单数量。
标签: sql sql-server aggregate