|
Группировка с rollup
|
|||
---|---|---|---|
#18+
Добрый день, вот такой у меня вопросец возник. Есть запрос : 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). Заранее благодарю за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2002, 11:38 |
|
Группировка с rollup
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2002, 12:30 |
|
Группировка с rollup
|
|||
---|---|---|---|
#18+
Да нет, с order by я уже пробовал во всех вариантах, не выходит(-:. Тут нужно свежее решение, а ничего в голову не приходит уже второй день. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2002, 12:57 |
|
Группировка с rollup
|
|||
---|---|---|---|
#18+
Дело не в 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2002, 13:56 |
|
|
start [/forum/topic.php?fid=52&msg=32043222&tid=1993195]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 290ms |
total: | 432ms |
0 / 0 |