現在有兩張表
表a
IYEAR IT IMONTH SFCODE IMONERY
2017 1005 5 10051107091 643014.5298
2017 1005 6 10051107091 55.5555
2017 1005 6 10051107091 267491.9091
2018 1005 3 10051107091 1548.718
2017 1005 11 10051107091 45122.62957
2017 1005 12 10051107091 29296.3187
表b
IYEAR IDEP IMONTH SFCODE IJX2
2018 1005 4 10051107091 7800
2018 1005 3 10051107091 600
2018 1005 4 10051107091 30000
現在希望
將兩張表放到視圖中去
IYEAR IDEP IMONTH SFCODE IJX2 IMONERY
視圖要前4個欄位和兩張標的紅色欄位
如果前4個欄位完全相等 就將紅色欄位的資料放在一列,否則沒欄位的就讓她為空
結果:

有沒有大佬說一下這視圖怎么寫?
uj5u.com熱心網友回復:
select IYEAR, IT, IMONTH, SFCODE, 0 IJX2, IMONERY from A
union all
select IYEAR, IDEP, IMONTH, SFCODE, IJX2, 0 IMONERY from B
uj5u.com熱心網友回復:
select nvl(a.IYEAR, b.IYEAR) as IYEAR, nvl(a. IT, b. IT) as IT, nvl(a. IMONTH, b. IMONTH) as IMONTH, nvl(a. SFCODE, b. SFCODE) as SFCODE, b.IJX2, a.IMONERY
from a
full join b on (a.IYEAR=b.IYEAR and a.IT=b.ITand a.IMONTH=b.IMONTH and a.SFCODE=b.SFCODE)
uj5u.com熱心網友回復:
select nvl(a.IYEAR, b.IYEAR) as IYEAR, nvl(a.IT, b.IT) as IT, nvl(a.IMONTH, b.IMONTH) as IMONTH, nvl(a.SFCODE, b.SFCODE) as SFCODE, b.IJX2, a.IMONERY
from a
full join b on (a.IYEAR=b.IYEAR and a.IT=b.ITand a.IMONTH=b.IMONTH and a.SFCODE=b.SFCODE)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/63596.html
標籤:基礎和管理
上一篇:esb是個什么東西?
下一篇:union性能
