【问题标题】:How to return a single row with a total using a sql query and or expressions in sql server如何在 sql server 中使用 sql 查询和/或表达式返回单行总计
【发布时间】:2021-07-14 11:32:45
【问题描述】:

我写了一个查询以返回所有付款的总额。发生的事情是,当我运行我的报告时,它返回多行而不是一行,我认为这是因为我在查询中使用了 groupby 子句。 问题是我似乎需要分组,因为某些字段包含在我的数据集中,例如我实际上使用交易日期进行过滤,所以我不能省略它。这是我下面的查询

select distinct Transaction_Amount, Transaction_Type, Transaction_Date  --'R '+ CONVERT(varchar,SUM(Transaction_Amount)) as [Epurse Credits/Deposits]
from Transactional_Account
where Transaction_Type like '%credit%'

即使我将表达式设置为 =SUM(Fields!Transaction_Amount.Value,"DataSet1"),结果集仍然包含多行

【问题讨论】:

  • 请提供样本数据和期望的结果。目前尚不清楚您要做什么。

标签: jquery sql reporting-services dataset report


【解决方案1】:

您无需在数据集查询中包含您的总数。只需在报表设计中向您的表格/矩阵添加一个行组(或更改现有的“详细信息”行组),然后按您需要显示的所有常见字段进行分组。

【讨论】:

    【解决方案2】:

    如果您希望每个事务有一行,则删除 DISTINCT 并使用聚合函数:

    select max(Transaction_Amount), max(Transaction_Type), max(Transaction_Date)
          sum(Transaction_Amount) as [Epurse Credits/Deposits]
    from Transactional_Account
    where Transaction_Type like '%credit%';
    

    这会为其他每一列返回任意(嗯,最大值)值。但是保证你排一排。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 2012-01-01
      • 2021-05-06
      相关资源
      最近更新 更多