일단 VIEW 로 작성된 녀석이 있습니다.
이 VIEW 에는 두개의 테이블 A,B 가 union all 상태 입니다.
A union all B 상태에 조건 C를 만족하는 값을 찾도록 쿼리를 작성하였습니다.
똑같은 조건으로 C로
A union all B where C 형태로 하면 2건이 나옵니다.
A where C 형태 0건이 나옵니다.
B where C 형태 1건이 나옵니다.
이거 참 답답하네요. ㅡㅡ;; 1건이 나와야하는대 2건이 나오네요...
-------------------------------쿼리내용-------------------------------
조건 C : bzdt_cd='100434' and bnm ='2-1M3'
CREATE OR REPLACE VIEW ****ic.tb_lsl_lo**** (컬럼명) AS
SELECT union_table.* FROM(
SELECT * FROM tb_lsl_lol*_*_or***n*l WHERE nvl(tb_lsl_lol*_*_or***n*l.stl_spl_pp_cd::text::character varying, ''::character varying)::text !~~ 'A5%'::text AND tb_lsl_lol*_*_or***n*l.lnd_us_ds_cd IS NOT NULL
UNION ALL
SELECT * FROM em.tb_b**_self_csr_***_biz WHERE tb_b**_self_csr_***_biz.spl_tp_cd not in( '28','29') AND tb_b**_self_csr_***_biz.use_yn::text = 'Y'::text
) union_table WHERE bzdt_cd='100434' and bnm ='2-1M3'
위쿼리로 2건나옴
select * from ****ic.tb_lsl_lo**** where bzdt_cd='100434' and bnm ='2-1M3' 위쿼리로2건나옴..
SELECT * FROM tb_lsl_lol*_*_or***n*l WHERE nvl(tb_lsl_lol*_*_or***n*l.stl_spl_pp_cd::text::character varying, ''::character varying)::text !~~ 'A5%'::text AND tb_lsl_lol*_*_or***n*l.lnd_us_ds_cd IS NOT NULL and bzdt_cd='100434' and bnm ='2-1M3'
위쿼리로 0건나옴
SELECT * FROM em.tb_b**_self_csr_***_biz WHERE tb_b**_self_csr_***_biz.spl_tp_cd not in( '28','29') AND tb_b**_self_csr_***_biz.use_yn::text = 'Y'::text and bzdt_cd='100434' and bnm ='2-1M3'
위쿼리로 1건나옴
-----------------------------두번째 셀렉트는 위쪽 테이블과 데이터형테를 맟추기 위해 특정컬럼은 as 를 이용하였음 |