我在oracle中有一个表,我想得到sysdate的借方和贷方列之和的差,以及6个月前借方和贷方列之和的差
我的问题是
select a.name,a.id, nvl(sum(a.debit),0)-nvl(sum(a.credit),0) current_bal
from mytable a
where a.id='1092' and a.docdate<=sysdate
group by a.name,a.id
union
select b.name,b.id,nvl(sum(b.debit),0)-nvl(sum(b.credit),0) current_bal1
from mytable b
where b. id='1092' and b.docdate<=add_months(sysdate,-6)
group by b.name,b.id;
我得到了正确的结果,但是查询返回了两行,其中我需要将这个结果显示为一行。
请对我的问题提出任何建议/更正。
3条答案
按热度按时间tkqqtvp11#
可以按如下方式使用条件聚合:
--更新
如果您面临任何问题,那么最简单的方法就是在子查询之间使用self-join,如下所示:
voase2hg2#
可以使用条件聚合:
这将两个值放在同一行中。这对我来说似乎比把它们放在不同的一排更有用。
jv2fixgn3#
你能试试吗: