Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 В запросе добавить недостающие строки  [new]
asdl
Guest
В таблице два поля - одно со значениями, другое с датами.

12 01,02,07
10 01,02,07
56 02,02,07
46 04,06,07

Как просуммировать поля и вставить строку с нулевой суммой для недостающей даты?
Должны получить:

22 01,02,2007
56 02,02,2007
0 03,02,2007
46 04,02,2007
5 апр 07, 16:07    [3985605]     Ответить | Цитировать Сообщить модератору
 Re: В запросе добавить недостающие строки  [new]
iV@n
Member

Откуда:
Сообщений: 382
поможет поиск по слову pivot
5 апр 07, 16:13    [3985660]     Ответить | Цитировать Сообщить модератору
 Re: В запросе добавить недостающие строки  [new]
asdl
Guest
спасибо
5 апр 07, 16:20    [3985736]     Ответить | Цитировать Сообщить модератору
 Re: В запросе добавить недостающие строки  [new]
jenyz
Member

Откуда:
Сообщений: 261
with t as (
select 2 sum_, to_date('01.02.2007') date_ from dual union all
select 4 sum_, to_date('01.02.2007') date_ from dual union all
select 56 sum_, to_date('02.02.2007') date_ from dual union all
select 46 sum_, to_date('04.02.2007') date_d from dual)
select b.date_, nvl(c.sum_, 0) sum_
from (select a.mindate+level-1 date_
      from (select min(date_) mindate, max(date_) maxdate from t) a
      connect by level <= a.maxdate-a.mindate+1) b,
     (select distinct sum(sum_) over (partition by date_) sum_, date_ from t) c
where b.date_ = c.date_(+)  
order by b.date_ 
5 апр 07, 16:42    [3985926]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить