我试图开发返回以下查询:查询问题在SQL Server 2008中
- 单元,每个单元产品销往
- 产品的名称
- 的
CustomerID
总量买了每个产品
此的最大数量是我到目前为止有:
SELECT DISTINCT
Products.ProductName,
SUM([Order Details].Quantity) as cant,
Orders.CustomerID
FROM
Products
INNER JOIN [Order Details]
ON Products.ProductID = [Order Details].ProductID
INNER JOIN Orders
ON [Order Details].OrderID = Orders.OrderID
WHERE
[Order Details].Quantity =
(
SELECT
MAX([Order Details].Quantity)
FROM
[Order Details]
WHERE
[Order Details].ProductID = Products.ProductID
)
GROUP BY
Products.ProductName, Orders.CustomerID
它没有给我预期的结果。
任何与表格或其他内容相关的信息,只需将它发布在评论中,我会回答。
在此先感谢您的帮助!
你是什么:这可以通过使用下面的,它会返回一个分号客户ID的分隔列表,它有顺序的每个产品的最大次数来避免使用。 mssql,oracle,mysql? – Arion 2012-03-30 14:48:56
@Arion SQL Server 2008.我相信MSSQL – 2012-03-30 14:50:33
如果您有多个客户都购买了相同的MAX计数,您可能需要添加TOP 1 – 2012-03-30 14:58:49