Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Группировка с rollup / 5 сообщений из 5, страница 1 из 1
14.08.2002, 11:38
    #32043104
flash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с rollup
Добрый день,
вот такой у меня вопросец возник.
Есть запрос :

select pi.name pin, okr.name okrn, ss.name ssn,
sum(grr.ob_r) plan,
from sfed_okr okr,ssub_rf ss,
spi_grr pi, objgrr grr
where grr.vid_opic=pi.code
and grr.fedokrc=okr.code
and grr.oblastc=ss.code
group by rollup(pi.name,okr.name,ss.name)

который возвращает следующее:


PIN OKRN SSN PLAN
кирпич Сибирский Иркутская обл. 300
кирпич Сибирский 300
кирпич 300

долерит Сибирский Р. Алтай 200
долерит Сибирский Иркутская обл. 500
долерит Сибирский 700

долерит Приволжский Саратовская обл.400
долерит Приволжский 400
долерит 1100

Хотелось бы получить следующий результат:

PIN OKRN SSN PLAN

кирпич 300
кирпич Сибирский 300
кирпич Сибирский Иркутская обл. 300

долерит 1100

долерит Сибирский 700
долерит Сибирский Р. Алтай 200
долерит Сибирский Иркутская обл. 500

долерит Приволжский 400
долерит Приволжский Саратовская обл.400

Иными словами, чтобы итоговые суммы выводились в порядке от общего к частному.
Очень не хочется разбирать recordset на клиенте, так как это лишь упрощенный вариант запроса.
Используется Oracle 8.1.5, Win2k,в качестве клиента ASP скрипт (ADO).
Заранее благодарю за помощь.
...
Рейтинг: 0 / 0
14.08.2002, 12:30
    #32043136
ora600
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с rollup
Hi

Наверное, что-то вроде
select
...
order by pi.name pin, okr.name okrn, ss.name ssn,
, grouping(pi.name) desc
, grouping(okr.name) desc
, grouping(ss.name) desc
...
Рейтинг: 0 / 0
14.08.2002, 12:57
    #32043155
flash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с rollup
Да нет, с order by я уже пробовал во всех вариантах,
не выходит(-:. Тут нужно свежее решение,
а ничего в голову не приходит уже второй день.
...
Рейтинг: 0 / 0
14.08.2002, 13:56
    #32043174
ora600
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с rollup
Дело не в order by , а в grouping(...) .

Так что-ли ?
order by
grouping(pi.name) desc , pi.name pin,
grouping(okr.name) desc, okr.name okrn,
grouping(ss.name) desc, ss.name ssn
...
Рейтинг: 0 / 0
14.08.2002, 16:00
    #32043222
flash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с rollup
Да именно так , спасибо...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Группировка с rollup / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]