我对Pl Sql比较陌生,必须编写如下过程,它有6-7个不同的查询,如下所示:
从abc选择经理,计数(*)银行。
选择经理,计数(*)零售从abc .
现在,每一个计算都是针对不同的部门,而经理可能是相同的。因此,问题在于,我正在寻找一种帮助我将数据存储在具有以下结构的单独表中的最佳方法:
经理:清点银行:零售计数:西兹伯爵.
如何确保使用Pl sql确保每个管理器对所有列(bank/retai/xyz)都有正确的计数,首先是如何存储多个不同的查询结果并对其进行处理。我认为我们可以使用游标,但我需要研究它,而且这个程序应该是高性能的。请建议一下。
谢谢XslGuy
发布于 2015-11-05 12:13:02
这是很容易实现的条件和。希望下面的内容能让你对你需要做的事情有足够的了解:
with sample_data as (select 1 id, 1 dept, 10 val from dual union all
select 2 id, 1 dept, 20 val from dual union all
select 3 id, 2 dept, 30 val from dual union all
select 4 id, 3 dept, 40 val from dual union all
select 5 id, 1 dept, 50 val from dual union all
select 6 id, 3 dept, 60 val from dual union all
select 7 id, 2 dept, 70 val from dual union all
select 8 id, 4 dept, 80 val from dual)
-- end of creating a subquery that contains some sample data. See sql below:
select sum(case when dept = 1 then val end) dept_1_total,
sum(case when dept = 2 then val end) dept_2_total,
sum(case when dept = 3 then val end) dept_3_total
from sample_data
where dept in (1, 2, 3);
DEPT_1_TOTAL DEPT_2_TOTAL DEPT_3_TOTAL
------------ ------------ ------------
80 100 100https://stackoverflow.com/questions/33544050
复制相似问题