2

我有一个 Sql 查询:

SELECT
  [Order].Quantity
 ,[Order].Refund
 ,[Order].Price
 ,[Order].Archive AS [Order Archive]
 ,[Order].Handled
 ,[Order].[Date] AS [Order Date]
 ,[Order].OrderNum
 ,[Order].SecondaryID
 ,SUM((Quantity - (ISNULL(Refund, 0))) * Price) As Total
 ,Product.CatalogNum
 ,Product.ProductName
 ,Customer.CustomerName
 FROM
 [Order]
 INNER JOIN Customer
 ON Customer.CustomerID = [Order].CustomerID
 INNER JOIN Product
 ON Product.ProductID = [Order].ProductID
 WHERE [Order].OrderNum In (@order) 
 Group By [Order].Quantity,
 [Order].Refund
,[Order].Price
,[Order].Archive
,[Order].Handled
,[Order].[Date]
,[Order].OrderNum,Product.CatalogNum
,Product.ProductName
,Product.ProductPrice
,Customer.CustomerName,Customer.CustomerID
,[Order].SecondaryID Order by Customer.CustomerID,[Order].Quantity

我使用它在 Report Builder 3.0 中构建报告。对于 SQL,我得到了我想要的结果。但是当使用报告工具时,当同一产品的价格不同时(特价销售等)我就有问题了。我没有得到产品的总数量。如果同一产品的所有行都具有相同的价格,我会做一个 SUM - 一切都很好。如果价格不同,我需要为同一产品的每个价格组获取一个 SUM。

知道如何进行吗?

4

1 回答 1

2

在您的 GROUP BY 子句中,删除该行

,Product.ProductPrice 

这导致它在不同的价格上进行不同的分组。无论价格如何,删除它都会使其按产品名称分组。

于 2012-06-07T03:43:14.867 回答