Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1

ТЕМА:

Группировка с rollup в Oracle 12 года 9 мес. назад #2356

Привет
вот такой у меня вопросец возник.
Есть запрос :

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
майка Сибирская Иркутская обл. 500
майка Сибирская 500
майка 500

футболка Сибирский Р. Алтай 400
футболка Сибирский Иркутская обл. 500
футболка Сибирский 700

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

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

PIN OKRN SSN PLAN

майка 500
майка Сибирская 500
майка Сибирская Иркутская обл. 500

футболка 1100

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

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

Иными словами, чтобы итоговые суммы выводились в порядке от общего к частному.
Очень не хочется разбирать recordset на клиенте, так как это лишь упрощенный вариант запроса.
Используется Oracle 8.1.5, Win2k,в качестве клиента ASP скрипт (ADO).
Заранее благодарю за помощь.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Группировка с rollup в Oracle 12 года 9 мес. назад #2357

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Группировка с rollup в Oracle 12 года 9 мес. назад #2358

Да нет, с order by я уже пробовал во всех вариантах,
не выходит(-:. Тут нужно свежее решение,
а ничего в голову не приходит уже второй день.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Группировка с rollup в Oracle 12 года 9 мес. назад #2359

Дело не в 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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Группировка с rollup в Oracle 12 года 9 мес. назад #2360

Да именно так , спасибо)))
По последнему варианту он выдал мне все что нужно, в правильном порядке!
Огромнейшее спасибо!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.200 секунд