Я использую накопитель для получения некоторых агрегатов и отображения их пользователю в виде таблицы.Обеспечение одинакового количества строк в свертке оракула
Однако я хотел бы убедиться, что в моем свертке количество строк, которые свернуты, является тем же самым, то есть номером самого большого подмножества.
Я думаю, что пример делает то, что я хочу гораздо понятнее, поэтому я настроить простой пример оракула ниже:
create table test (
co_name varchar2(100),
rtype number,
some_count number
) ;
insert all
into test (co_name, rtype, some_count) values ('A', 1, 5)
into test (co_name, rtype, some_count) values ('A', 2, 6)
into test (co_name, rtype, some_count) values ('A', 3, 7)
into test (co_name, rtype, some_count) values ('B', 1, 8)
into test (co_name, rtype, some_count) values ('B', 2, 9)
SELECT * FROM DUAL
;
select * from test;
SELECT
co_name,
rtype,
count(some_count)
FROM test
GROUP BY ROLLUP(co_name, rtype)
Это дает мне следующие результаты:
CO_NAME RTYPE SOME_COUNT
A 1 5
A 2 6
A 3 7
A 18
B 1 8
B 2 9
B 17
B 35
Вы заметите конечно, что B имеет только два ряда для RTYPE - 1 и 2 Это потому, что есть 0 строк, где CO_NAME = B И RTYPE = 3
Есть ли способ держать рулон в соответствии с количеством полученных результатов? То, что я хотел бы, чтобы увидеть следующее:
CO_NAME RTYPE SOME_COUNT
A 1 5
A 2 6
A 3 7
A 18
B 1 8
B 2 9
B 3 0
B 17
35
Любые предложения здесь будет очень полезным, так как я хотел бы мое приложение было глупо и просто Tabulate результаты без учета отсутствующих данных. Я бы хотел, чтобы запрос дал мне все, что мне нужно.
Спасибо!
EDIT: Я допинг ... В моем примере выше я хотел сохранить все просто, но сделал ошибку. Вместо RTYPES, являющегося набором {1,2,3} возможных значений, представьте, что это набор {'x', 'y', 'z'} возможных значений ... Я заметил ответ как ответ, потому что он ответил на вопрос, который я задал, и вина на мне :(
Как именно отсутствие B 3 0 строка в накопительном выводе отключает ваше приложение? И почему провайдер данных таблицы «тест» не включает данные В/3 в первую очередь? –