У меня есть база данных идентификаторов с доходами и датами начала и окончания, как показано ниже, но у меня есть проблема с разбивкой дохода на один идентификатор в месяц для заданного диапазона дат начала и окончания.Как написать запрос для отображения месяцев между двумя датами?
Образец данных таблицы ниже:
ID | INCOME | START_DATE | END_DATE
1 | 2000 | 02/01/2016 | 05/31/2016
1 | 1500 | 12/01/2015 | 01/31/2016
2 | 1000 | 01/01/2016 | 04/30/2016
Результат должен быть:
ID | INCOME | MONTH
1 | 2000 | 05/2016
1 | 2000 | 04/2016
1 | 2000 | 03/2016
1 | 2000 | 02/2016
1 | 1500 | 01/2016
1 | 1500 | 12/2015
2 | 1000 | 04/2016
2 | 1000 | 03/2016
2 | 1000 | 02/2016
2 | 1000 | 01/2016
Как бы я писать Oracle SQL таким образом, что я в состоянии эффективно производить выше результата (если в таблице указаны тысячи уникальных идентификаторов)?
Какая версия базы данных Oracle? – mathguy
Версия 3.2.20.09 –
? Текущая версия Oracle - 12, вы наверняка не используете Oracle 3? Чтобы узнать свою версию, запустите 'select * from v $ version;' – mathguy