Информация об изменениях

Сообщение [ora]Внешнее объединение от 17.03.2020 5:23

Изменено 17.03.2020 5:24 Funny Rabbit

[ora]Внешнее объединение
В таблице V_PSPAYCARD есть запись

year month rn summ
2015 10 221599 131,02

В таблице PSPAYCARDRMND есть данные

rn year month summ
221599 2015 11 131,02
221599 2015 12 131,02
221599 2016 1
131,02
221599 2016 2
1651,02
221599 2016 3
3171,02
221599 2016 4
1829,12
221599 2016 5
776,74
221599 2016 6
1976,74
221599 2016 7
1990,07
221599 2016 8
1737,69
221599 2016 9
2861,17
221599 2016 10 4173,90
221599 2016 11 1821,52
221599 2016 12 2762,47
221599 2017 1
4282,47
221599 2017 2
3002,47
221599 2017 3
2438,03

select distinct vp.*
  from PSPAYCARDRMND SP1,
       (select distinct mnd.YEAR,
                        mnd.MONTH,
                        mnd.RN as RN,
                        mnd.SUMM as SUMM,
                        mnd.prn 
          from PSPAYCARDRMND mnd
        union all
        select distinct extract(year from v.ddate_from) as year,
                        extract(month from v.ddate_from) as month,
                        v.nrn as RN,
                        v.ndebt_in as SUMM,
                        null
          from V_PSPAYCARD v) vp
        where SP1.PRN(+) = 221599
          and vp.rn = sp1.prn          
          and sp1.year(+) = vp.year
          and sp1.month(+) = vp.month          
order by vp.year, vp.month


Мне надо чтобы при объединении данные из таблицы V_PSPAYCARD попали в результат выборки.
[ora]Внешнее объединение
В таблице V_PSPAYCARD есть запись

year month rn summ
---------------------------------
2015 10 221599 131,02

В таблице PSPAYCARDRMND есть данные

rn year month summ
-----------------------------

221599 2015 11 131,02
221599 2015 12 131,02
221599 2016 1
131,02
221599 2016 2
1651,02
221599 2016 3
3171,02
221599 2016 4
1829,12
221599 2016 5
776,74
221599 2016 6
1976,74
221599 2016 7
1990,07
221599 2016 8
1737,69
221599 2016 9
2861,17
221599 2016 10 4173,90
221599 2016 11 1821,52
221599 2016 12 2762,47
221599 2017 1
4282,47
221599 2017 2
3002,47
221599 2017 3
2438,03

select distinct vp.*
  from PSPAYCARDRMND SP1,
       (select distinct mnd.YEAR,
                        mnd.MONTH,
                        mnd.RN as RN,
                        mnd.SUMM as SUMM,
                        mnd.prn 
          from PSPAYCARDRMND mnd
        union all
        select distinct extract(year from v.ddate_from) as year,
                        extract(month from v.ddate_from) as month,
                        v.nrn as RN,
                        v.ndebt_in as SUMM,
                        null
          from V_PSPAYCARD v) vp
        where SP1.PRN(+) = 221599
          and vp.rn = sp1.prn          
          and sp1.year(+) = vp.year
          and sp1.month(+) = vp.month          
order by vp.year, vp.month


Мне надо чтобы при объединении данные из таблицы V_PSPAYCARD попали в результат выборки.