[selectRecords] select kbn ,skbn ,c2kbn ,c1kbn ,cd ,han ,sir_cd ,sir_nm ,cd2 ,han2 ,cd1 ,han1 ,hin_cd ,hin_nm ,coalesce(sir01,0) as sir01 ,coalesce(su01,0) as su01 ,coalesce(sir02,0) as sir02 ,coalesce(su02,0) as su02 ,coalesce(sir03,0) as sir03 ,coalesce(su03,0) as su03 ,coalesce(sir04,0) as sir04 ,coalesce(su04,0) as su04 ,coalesce(sir05,0) as sir05 ,coalesce(su05,0) as su05 ,coalesce(sir06,0) as sir06 ,coalesce(su06,0) as su06 ,coalesce(sir07,0) as sir07 ,coalesce(su07,0) as su07 ,coalesce(sir08,0) as sir08 ,coalesce(su08,0) as su08 ,coalesce(sir09,0) as sir09 ,coalesce(su09,0) as su09 ,coalesce(sir10,0) as sir10 ,coalesce(su10,0) as su10 ,coalesce(sir11,0) as sir11 ,coalesce(su11,0) as su11 ,coalesce(sir12,0) as sir12 ,coalesce(su12,0) as su12 ,coalesce(sir01_ly,0) as sir01_ly ,coalesce(su01_ly,0) as su01_ly ,coalesce(sir02_ly,0) as sir02_ly ,coalesce(su02_ly,0) as su02_ly ,coalesce(sir03_ly,0) as sir03_ly ,coalesce(su03_ly,0) as su03_ly ,coalesce(sir04_ly,0) as sir04_ly ,coalesce(su04_ly,0) as su04_ly ,coalesce(sir05_ly,0) as sir05_ly ,coalesce(su05_ly,0) as su05_ly ,coalesce(sir06_ly,0) as sir06_ly ,coalesce(su06_ly,0) as su06_ly ,coalesce(sir07_ly,0) as sir07_ly ,coalesce(su07_ly,0) as su07_ly ,coalesce(sir08_ly,0) as sir08_ly ,coalesce(su08_ly,0) as su08_ly ,coalesce(sir09_ly,0) as sir09_ly ,coalesce(su09_ly,0) as su09_ly ,coalesce(sir10_ly,0) as sir10_ly ,coalesce(su10_ly,0) as su10_ly ,coalesce(sir11_ly,0) as sir11_ly ,coalesce(su11_ly,0) as su11_ly ,coalesce(sir12_ly,0) as sir12_ly ,coalesce(su12_ly,0) as su12_ly ,coalesce(sir01_2ya,0) as sir01_2ya ,coalesce(su01_2ya,0) as su01_2ya ,coalesce(sir02_2ya,0) as sir02_2ya ,coalesce(su02_2ya,0) as su02_2ya ,coalesce(sir03_2ya,0) as sir03_2ya ,coalesce(su03_2ya,0) as su03_2ya ,coalesce(sir04_2ya,0) as sir04_2ya ,coalesce(su04_2ya,0) as su04_2ya ,coalesce(sir05_2ya,0) as sir05_2ya ,coalesce(su05_2ya,0) as su05_2ya ,coalesce(sir06_2ya,0) as sir06_2ya ,coalesce(su06_2ya,0) as su06_2ya ,coalesce(sir07_2ya,0) as sir07_2ya ,coalesce(su07_2ya,0) as su07_2ya ,coalesce(sir08_2ya,0) as sir08_2ya ,coalesce(su08_2ya,0) as su08_2ya ,coalesce(sir09_2ya,0) as sir09_2ya ,coalesce(su09_2ya,0) as su09_2ya ,coalesce(sir10_2ya,0) as sir10_2ya ,coalesce(su10_2ya,0) as su10_2ya ,coalesce(sir11_2ya,0) as sir11_2ya ,coalesce(su11_2ya,0) as su11_2ya ,coalesce(sir12_2ya,0) as sir12_2ya ,coalesce(su12_2ya,0) as su12_2ya from( select 1 as kbn ,1 as skbn ,1 as c2kbn ,1 as c1kbn ,coalesce(m.cat_cd,'') as cd ,(case when coalesce(m.cat_cd,'') = '' then '' else coalesce(hn.han_name,'')||'('||coalesce(m.cat_cd,'')||')' end) as han ,coalesce(t.sir_cd,'') as sir_cd ,(case when coalesce(t.sir_cd,'') = '' then '' else coalesce(t.sir_nm,'')||'('||coalesce(t.sir_cd,'')||')' end) as sir_nm ,coalesce(hn2.han_cd,'') as cd2 ,(case when coalesce(hn2.han_cd,'') = '' then '' else '('||coalesce(hn2.han_cd,'')||')'||coalesce(hn2.han_name,'') end )as han2 ,coalesce(hn1.han_cd,'') as cd1 ,(case when coalesce(hn1.han_cd,'') = '' then '' else '('||coalesce(hn1.han_cd,'')||')'||coalesce(hn1.han_name,'') end) as han1 ,sm.hin_cd ,sm.hin_nm , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.suryo)else(null)end) as su01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_2ya from t_sir_m sm left join t_sir t on (t.den_no = sm.den_no) left join m_sir m on (m.sir_cd = t.sir_cd) left join m_hin hi on (hi.hin_cd = sm.hin_cd) left join m_hanyo hn on (hn.mst_kbn = '45' and hn.han_cd = m.cat_cd) left join m_hanyo hn1 on (hn1.mst_kbn = '05' and hn1.han_cd = hi.cat_cd) left join m_hanyo hn2 on (hn2.mst_kbn = '14' and hn2.han_cd = hn1.koumoku1) left join m_tanto tn on (tn.tan_cd = t.tan_cd) left join m_hanyo hn3 on (hn3.mst_kbn = '55' and hn3.han_cd = tn.bu_cd) where 1=1 and t.hacyu_flg = '0' and t.del_flg = '0' and hi.del_flg = '0' and (('' = '&2') or (tn.bu_cd = '&2')) and (('' = '&6') or (m.cat_cd = '&6')) and (('' = '&24') or (t.tan_cd >= '&24')) and (('' = '&25') or (t.tan_cd <= '&25')) and (('' = '&22') or (m.sir_cd >= '&22')) and (('' = '&22') or (m.sir_cd <= '&23')) -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- Start and t.syori_ymd >= TO_CHAR(TO_DATE('&18'||'&19'||'01', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and t.syori_ymd < (TO_CHAR(&18 + 1,'FM9999')||'&19'||'00') -- and t.syori_ymd between TO_CHAR(TO_DATE('&18'||'0101', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and ('&18'||'1231') -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- End group by coalesce(m.cat_cd,''),hn.han_name,t.sir_cd,t.sir_nm,coalesce(hn2.han_cd,''),hn2.han_name,coalesce(hn1.han_cd,''),hn1.han_name,sm.hin_cd,sm.hin_nm union all select 1 as kbn ,1 as skbn ,1 as c2kbn ,2 as c1kbn ,coalesce(m.cat_cd,'') as cd ,(case when coalesce(m.cat_cd,'')='' then '' else coalesce(hn.han_name,'')||'('||coalesce(m.cat_cd,'')||')' end) as han ,coalesce(t.sir_cd,'') as sir_cd ,(case when coalesce(t.sir_cd,'')='' then '' else coalesce(t.sir_nm,'')||'('||coalesce(t.sir_cd,'')||')' end) as sir_nm ,coalesce(hn2.han_cd,'') as cd2 ,(case when coalesce(hn2.han_cd,'')='' then '' else '('||coalesce(hn2.han_cd,'')||')'||coalesce(hn2.han_name,'') end) as han2 ,coalesce(hn1.han_cd,'') as cd1 ,(case when coalesce(hn1.han_cd,'')='' then '' else '('||coalesce(hn1.han_cd,'')||')'||coalesce(hn1.han_name,'') end) as han1 ,'' as hin_cd ,'商品分類合計' as hin_nm , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.suryo)else(null)end) as su01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_2ya from t_sir_m sm left join t_sir t on (t.den_no = sm.den_no) left join m_sir m on (m.sir_cd = t.sir_cd) left join m_hin hi on (hi.hin_cd = sm.hin_cd) left join m_hanyo hn on (hn.mst_kbn = '45' and hn.han_cd = m.cat_cd) left join m_hanyo hn1 on (hn1.mst_kbn = '05' and hn1.han_cd = hi.cat_cd) left join m_hanyo hn2 on (hn2.mst_kbn = '14' and hn2.han_cd = hn1.koumoku1) left join m_tanto tn on (tn.tan_cd = t.tan_cd) left join m_hanyo hn3 on (hn3.mst_kbn = '55' and hn3.han_cd = tn.bu_cd) where 1=1 and t.hacyu_flg = '0' and t.del_flg = '0' and hi.del_flg = '0' and (('' = '&2') or (tn.bu_cd = '&2')) and (('' = '&6') or (m.cat_cd = '&6')) and (('' = '&24') or (t.tan_cd >= '&24')) and (('' = '&25') or (t.tan_cd <= '&25')) and (('' = '&22') or (m.sir_cd >= '&22')) and (('' = '&22') or (m.sir_cd <= '&23')) -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- Start and t.syori_ymd >= TO_CHAR(TO_DATE('&18'||'&19'||'01', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and t.syori_ymd < (TO_CHAR(&18 + 1,'FM9999')||'&19'||'00') -- and t.syori_ymd between TO_CHAR(TO_DATE('&18'||'0101', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and ('&18'||'1231') -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- End group by coalesce(m.cat_cd,''),hn.han_name,t.sir_cd,t.sir_nm,coalesce(hn2.han_cd,''),hn2.han_name,coalesce(hn1.han_cd,''),hn1.han_name union all select 1 as kbn ,1 as skbn ,2 as c2kbn ,2 as c1kbn ,coalesce(m.cat_cd,'') as cd ,(case when coalesce(m.cat_cd,'')='' then '' else coalesce(hn.han_name,'')||'('||coalesce(m.cat_cd,'')||')' end) as han ,coalesce(t.sir_cd,'') as sir_cd ,(case when coalesce(t.sir_cd,'')='' then '' else coalesce(t.sir_nm,'')||'('||coalesce(t.sir_cd,'')||')' end) as sir_nm ,coalesce(hn2.han_cd,'') cd2 ,(case when coalesce(hn2.han_cd,'')='' then '' else '('||coalesce(hn2.han_cd,'')||')'||coalesce(hn2.han_name,'') end) as han2 ,'' as cd1 ,'' as han1 ,'' as hin_cd ,'商品大分類合計' as hin_nm , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.suryo)else(null)end) as su01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_2ya from t_sir_m sm left join t_sir t on (t.den_no = sm.den_no) left join m_sir m on (m.sir_cd = t.sir_cd) left join m_hin hi on (hi.hin_cd = sm.hin_cd) left join m_hanyo hn on (hn.mst_kbn = '45' and hn.han_cd = m.cat_cd) left join m_hanyo hn1 on (hn1.mst_kbn = '05' and hn1.han_cd = hi.cat_cd) left join m_hanyo hn2 on (hn2.mst_kbn = '14' and hn2.han_cd = hn1.koumoku1) left join m_tanto tn on (tn.tan_cd = t.tan_cd) left join m_hanyo hn3 on (hn3.mst_kbn = '55' and hn3.han_cd = tn.bu_cd) where 1=1 and t.hacyu_flg = '0' and t.del_flg = '0' and hi.del_flg = '0' and (('' = '&2') or (tn.bu_cd = '&2')) and (('' = '&6') or (m.cat_cd = '&6')) and (('' = '&24') or (t.tan_cd >= '&24')) and (('' = '&25') or (t.tan_cd <= '&25')) and (('' = '&22') or (m.sir_cd >= '&22')) and (('' = '&22') or (m.sir_cd <= '&23')) -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- Start and t.syori_ymd >= TO_CHAR(TO_DATE('&18'||'&19'||'01', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and t.syori_ymd < (TO_CHAR(&18 + 1,'FM9999')||'&19'||'00') -- and t.syori_ymd between TO_CHAR(TO_DATE('&18'||'0101', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and ('&18'||'1231') -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- End group by coalesce(m.cat_cd,''),hn.han_name,t.sir_cd,t.sir_nm,coalesce(hn2.han_cd,''),hn2.han_name union all select 1 as kbn ,2 as skbn ,2 as c2kbn ,2 as c1kbn ,coalesce(m.cat_cd,'') as cd ,(case when coalesce(m.cat_cd,'')='' then '' else coalesce(hn.han_name,'')||'('||coalesce(m.cat_cd,'')||')' end) as han ,coalesce(t.sir_cd,'') as sir_cd ,(case when coalesce(t.sir_cd,'')='' then '' else coalesce(t.sir_nm,'')||'('||coalesce(t.sir_cd,'')||')' end) as sir_nm ,'' as cd2 ,'' as han2 ,'' as cd1 ,'' as han1 ,'' as hin_cd ,'仕入先合計' as hin_nm , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.suryo)else(null)end) as su01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_2ya from t_sir_m sm left join t_sir t on (t.den_no = sm.den_no) left join m_sir m on (m.sir_cd = t.sir_cd) left join m_hin hi on (hi.hin_cd = sm.hin_cd) left join m_hanyo hn on (hn.mst_kbn = '45' and hn.han_cd = m.cat_cd) left join m_hanyo hn1 on (hn1.mst_kbn = '05' and hn1.han_cd = hi.cat_cd) left join m_hanyo hn2 on (hn2.mst_kbn = '14' and hn2.han_cd = hn1.koumoku1) left join m_tanto tn on (tn.tan_cd = t.tan_cd) left join m_hanyo hn3 on (hn3.mst_kbn = '55' and hn3.han_cd = tn.bu_cd) where 1=1 and t.hacyu_flg = '0' and t.del_flg = '0' and hi.del_flg = '0' and (('' = '&2') or (tn.bu_cd = '&2')) and (('' = '&6') or (m.cat_cd = '&6')) and (('' = '&24') or (t.tan_cd >= '&24')) and (('' = '&25') or (t.tan_cd <= '&25')) and (('' = '&22') or (m.sir_cd >= '&22')) and (('' = '&22') or (m.sir_cd <= '&23')) -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- Start and t.syori_ymd >= TO_CHAR(TO_DATE('&18'||'&19'||'01', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and t.syori_ymd < (TO_CHAR(&18 + 1,'FM9999')||'&19'||'00') -- and t.syori_ymd between TO_CHAR(TO_DATE('&18'||'0101', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and ('&18'||'1231') -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- End group by coalesce(m.cat_cd,''),hn.han_name,t.sir_cd,t.sir_nm union all select 2 as kbn ,2 as skbn ,1 as c2kbn ,1 as c1kbn ,coalesce(m.cat_cd,'') as cd ,(case when coalesce(m.cat_cd,'')='' then '' else coalesce(hn.han_name,'')||'('||coalesce(m.cat_cd,'')||')' end) as han ,'' as sir_cd ,'' as sir_nm ,'' as cd2 ,'' as han2 ,'' as cd1 ,'' as han1 ,'' as hin_cd ,'仕入先分類合計' as hin_nm , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.suryo)else(null)end) as su01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_2ya from t_sir_m sm left join t_sir t on (t.den_no = sm.den_no) left join m_sir m on (m.sir_cd = t.sir_cd) left join m_hin hi on (hi.hin_cd = sm.hin_cd) left join m_hanyo hn on (hn.mst_kbn = '45' and hn.han_cd = m.cat_cd) left join m_hanyo hn1 on (hn1.mst_kbn = '05' and hn1.han_cd = hi.cat_cd) left join m_hanyo hn2 on (hn2.mst_kbn = '14' and hn2.han_cd = hn1.koumoku1) left join m_tanto tn on (tn.tan_cd = t.tan_cd) left join m_hanyo hn3 on (hn3.mst_kbn = '55' and hn3.han_cd = tn.bu_cd) where 1=1 and t.hacyu_flg = '0' and t.del_flg = '0' and hi.del_flg = '0' and (('' = '&2') or (tn.bu_cd = '&2')) and (('' = '&6') or (m.cat_cd = '&6')) and (('' = '&24') or (t.tan_cd >= '&24')) and (('' = '&25') or (t.tan_cd <= '&25')) and (('' = '&22') or (m.sir_cd >= '&22')) and (('' = '&22') or (m.sir_cd <= '&23')) -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- Start and t.syori_ymd >= TO_CHAR(TO_DATE('&18'||'&19'||'01', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and t.syori_ymd < (TO_CHAR(&18 + 1,'FM9999')||'&19'||'00') -- and t.syori_ymd between TO_CHAR(TO_DATE('&18'||'0101', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and ('&18'||'1231') -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- End group by coalesce(m.cat_cd,''),hn.han_name union all select 3 as kbn ,null as skbn ,null as c2kbn ,null as c1kbn ,null as cd ,null as han ,null as sir_cd ,null as sir_nm ,null as cd2 ,null as han2 ,null as cd1 ,null as han1 ,null as hin_cd ,'全仕入先合計' as hin_nm , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM'), 'YYYYMM')then(sm.suryo)else(null)end) as su01 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su02 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su03 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su04 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su05 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su06 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su07 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su08 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su09 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su10 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su11 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.kingaku)else(null)end) as sir12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 months' AS INTERVAL),'YYYYMM')then(sm.suryo)else(null)end) as su12 , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('1 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_ly , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su01_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('1 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su02_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('2 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su03_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('3 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su04_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('4 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su05_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('5 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su06_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('6 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su07_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('7 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su08_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('8 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su09_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('9 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su10_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('10 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su11_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.kingaku)else(null)end) as sir12_2ya , sum(case(substr(t.syori_ymd,1,6))when TO_CHAR(TO_DATE('&18'||'&19', 'YYYYMM') + CAST('11 month' AS INTERVAL) - CAST('2 year' AS INTERVAL), 'YYYYMM')then(sm.suryo)else(null)end) as su12_2ya from t_sir_m sm left join t_sir t on (t.den_no = sm.den_no) left join m_sir m on (m.sir_cd = t.sir_cd) left join m_hin hi on (hi.hin_cd = sm.hin_cd) left join m_hanyo hn on (hn.mst_kbn = '45' and hn.han_cd = m.cat_cd) left join m_hanyo hn1 on (hn1.mst_kbn = '05' and hn1.han_cd = hi.cat_cd) left join m_hanyo hn2 on (hn2.mst_kbn = '14' and hn2.han_cd = hn1.koumoku1) left join m_tanto tn on (tn.tan_cd = t.tan_cd) left join m_hanyo hn3 on (hn3.mst_kbn = '55' and hn3.han_cd = tn.bu_cd) where 1=1 and t.hacyu_flg = '0' and t.del_flg = '0' and hi.del_flg = '0' and (('' = '&2') or (tn.bu_cd = '&2')) and (('' = '&6') or (m.cat_cd = '&6')) and (('' = '&24') or (t.tan_cd >= '&24')) and (('' = '&25') or (t.tan_cd <= '&25')) and (('' = '&22') or (m.sir_cd >= '&22')) and (('' = '&22') or (m.sir_cd <= '&23')) -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- Start and t.syori_ymd >= TO_CHAR(TO_DATE('&18'||'&19'||'01', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and t.syori_ymd < (TO_CHAR(&18 + 1,'FM9999')||'&19'||'00') -- and t.syori_ymd between TO_CHAR(TO_DATE('&18'||'0101', 'YYYYMMDD') - CAST('2 year' AS INTERVAL), 'YYYYMMDD') and ('&18'||'1231') -- 2018.09.28 KSP K.Takahahsi 全体の範囲指定が1月始まり以外はずれてしまう --------- End ) s1 order by s1.cd,s1.kbn,s1.sir_cd,s1.sir_nm,s1.skbn,s1.cd2,s1.c2kbn,s1.cd1,s1.c1kbn,s1.hin_cd,s1.hin_nm;