sql - 报告生成器 - 条件分组

标签 sql sql-server reporting-services

我有一个 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,我得到了我想要的结果。但是,当使用报告工具时,当同一产品的价格不同(特价销售等)时,我遇到了问题。我没有得到产品的总数量。 如果同一产品的所有行具有相同的价格,我会进行求和 - 一切都很好。 如果价格不同,我需要获得同一产品的每个价格组的总和。

知道如何继续吗?

最佳答案

在 GROUP BY 子句中,删除该行

,Product.ProductPrice 

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

关于sql - 报告生成器 - 条件分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914149/

相关文章:

sql - 从两个表中选择以查找基于生效日期的增值税税率

sql-server - “dotnet”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

reporting-services - 如何使用 ssrs 表达式显示前一个工作日

不返回具有多个条目的 id 的 mysql 查询

sql - 几个查询中出现相同的SQL错误

mysql - 用几个 LEFT JOIN 查询,没有得到想要的结果

sql-server - 在 where 子句中使用计算列

mysql - 模拟 group by, order by, limit 从 mysql 到 ms sql 2000

sql-server - 如何在 SSRS 中自动测试报告

c# - 以编程方式将数据源绑定(bind)到报表服务器中的 rdl - SSRS