아래와 같은 SQL을 작성 했는데.... 아마도 "★★★"부분의 영향으로 부하가 걸리는듯 한데...
union을 간소화 하는 방법이 있을까요?
조언 감사드립니다.
==========================================================
select UMUPDT,UMUPTM,UMUPWS,UMUPPG,UMDENO,UMDGNO,UMKIGC,UMKTNC,UMSOC,UMSLC,UMSYMD,UMHINC,UMKISC,UMMEDC,UMJNRC,UMBRAC,UMURBC,UMSURY,UMTANK,UMORIT,UMKING,UMSTAN,UMARAR,UMDEKB,UMJUKB,UMCMNO,UMKENC,UMKUC,UMYBF1,UMYBF2,UMYBF3,UMYBF4,UMYBF5,"UMUPD@" as UMUPD,"UMSYM@" as UMSYM
from (select ROW_NUMBER() OVER (PARTITION BY UMDENO, UMDGNO, UMKIGC, "UMSYM@" order byJOKEY desc) as rank,*
from ((select * from com_tran.as_TUM1000J where UMDEKB = '11')
union all (select * from com_tran.as_TUM1000J where UMDEKB = '12') --★★★
union all (select * from com_tran.as_TUM1000J where UMDEKB = '21')
union all (select * from com_tran.as_TUM1000J where UMDEKB = '22')
union all (select * from com_tran.as_TUM1000J where UMDEKB = '23')
union all (select * from com_tran.as_TUM1000J where UMDEKB = '24')) b
where ISREMOVED = '0'
and "UMSYM@" = 20190815
and UMHINC in (select HNC_CD
from com_stage.C1_MVMA2000
where KTBN <> ''
and ISREMOVED = '0'
and ERRF_CD <> 'D'
and DEL_FLG = '0'
and BRAC_CD in ('CQ6A','CQ6B','CQ6P','CQ61','CQ62','CQ63','CQ64','CQ68','YH21','YH24','YH25'))
) a
where a.rank = 1
and (JOENTT is null or JOENTT <> 'DL')
order by "UMSYM@",UMKIGC,UMKTNC,UMDENO,UMDGNO |