【发布时间】:2020-05-07 14:19:18
【问题描述】:
我正在尝试实现此布局。我没有共享查询,因为它正在工作,我只是想知道使用什么函数来实现格式“2”。一开始我在做UNION ALL,这就是我得到格式'1'的方式。数据是从多个表中获取的。我正在尝试在没有 PLSQL 的情况下实现这一目标。谢谢!
我如何得到它'1'
+-----+----+---+-----+
|col_1|col2|...|col_n|
+-----+----+---+-----+
| A |bla |...+ 3 |
+-----+----+---+-----+
| A |bla1|...| 1 |
+-----+----+---+-----+
| B |asd |...+ 2 |
+-----+----+---+-----+
| B |qwe1|...| 6 |
+-----+----+---+-----+
| B |zxc1|...| 1 |
+-----+----+---+-----+
|Sum:A| |...| 4 |
+-----+----+---+-----+
|Sum:B| |...| 9 |
+-----+----+---+-----+
我想如何转换它'2'
+-----+----+---+-----+
|col_1|col2|...|col_n|
+-----+----+---+-----+
| A |bla |...+ 3 |
+-----+----+---+-----+
| |bla1|...| 1 |
+-----+----+---+-----+
|Sum:A| |...| 4 |
+-----+----+---+-----+
| B |asd |...+ 2 |
+-----+----+---+-----+
| |qwe1|...| 6 |
+-----+----+---+-----+
| |zxc1|...| 1 |
+-----+----+---+-----+
|Sum:B| |...| 9 |
+-----+----+---+-----+
select
col_1
,col_2
...
col_n
from(
select
kce.name as col_1
,kcp.other_name as col_2
...
,irm.col_n
from tab_1 irm
left join tab_2 kce
on irm.irm_s_id = kce.id
left join tab_3 kcp
on irm.irm_p_id = kcp.id
where irm.customer = :P1_GROUP
order by irm.irm_s_id,irm.irm_p_id
)
union all
select 'Sum '||col_1
,null
...
,sum(col_n)
from(
select
kce.name as col_1
,kcp.other_name as col_2
...
,irm.col_n
from tab_1 irm
left join tab_2 kce
on irm.irm_s_id = kce.id
left join tab_3 kcp
on irm.irm_p_id = kcp.id
where irm.customer = :P1_GROUP
order by irm.irm_s_id,irm.irm_p_id
) group by 'Sum '||col_1
【问题讨论】:
标签: sql oracle11g oracle-apex