【问题标题】:birt merge columnsbirt 合并列
【发布时间】:2017-09-11 10:28:20
【问题描述】:

我正在使用它来生成用户报告。我需要创建一个显示充值的数量和总和以及提款的总和和数量。

我创建了两个数据集:

select WAL_TRANSACTION.PARTY_ID, sum(WAL_TRANSACTION.AMOUNT) amountdep, count(WAL_TRANSACTION.AMOUNT) countdep
from WAL_TRANSACTION
where WAL_TRANSACTION.TRANSACTION_TYPE=1
and WAL_TRANSACTION.STATUS='completed'
group by WAL_TRANSACTION.PARTY_ID

select WAL_TRANSACTION.PARTY_ID, sum(WAL_TRANSACTION.AMOUNT) amountwi, count(WAL_TRANSACTION.AMOUNT) countwi
from WAL_TRANSACTION
where WAL_TRANSACTION.TRANSACTION_TYPE=2
and WAL_TRANSACTION.STATUS='completed'
group by WAL_TRANSACTION.PARTY_ID

然后创建一个 BIRT 联合数据集将两者结合起来(全外连接)

问题是在结果中,你最终得到了 2 个 PARTY_ID 列,有没有办法将它们合并到一个列中?

sample current result

【问题讨论】:

    标签: sql birt


    【解决方案1】:

    只使用条件聚合:

    select t.PARTY_ID,
           sum(case when t.TRANSACTION_TYPE = 1 then t.AMOUNT end) as amountdep_1,
           sum(case when t.TRANSACTION_TYPE = 1 then 1 else 0 end) as countdep_1,
           sum(case when t.TRANSACTION_TYPE = 2 then t.AMOUNT end) as amountdep_2,
           sum(case when t.TRANSACTION_TYPE = 2 then 1 else 0 end) as countdep_2
    from WAL_TRANSACTION t
    where t.TRANSACTION_TYPE in (1, 2) and
          t.STATUS = 'completed'
    group by t.PARTY_ID;
    

    您不需要子查询。

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多