with zte as(
select QaContractIdCont conid
from dms_dmsnew.emis_syn_boadrinfo bd
join dms_dmsnew.emis_conheaderinfo ec
on bd.contract_header_id = ec.contract_header_id
left join dms_dmsnew.EMIS_REF_CONTICONTRACT erc
on bd.emis_syn_boadrinfo_id = erc.emis_syn_boadrinfo_id
left join v_maintain m
on erc.emis_ref_conti_header_id = m.emis_ref_conti_header_id
and m.emis_syn_boadrinfo_id = erc.emis_syn_boadrinfo_id
where 1 = 1
and upper(ec.contract_number) like '%2016%'

union all

select OmContractIdCont conid
from dms_dmsnew.emis_syn_boadrinfo bd
join dms_dmsnew.emis_conheaderinfo ec
on bd.contract_header_id = ec.contract_header_id
left join dms_dmsnew.EMIS_REF_CONTICONTRACT erc
on bd.emis_syn_boadrinfo_id = erc.emis_syn_boadrinfo_id
left join v_maintain m
on erc.emis_ref_conti_header_id = m.emis_ref_conti_header_id
and m.emis_syn_boadrinfo_id = erc.emis_syn_boadrinfo_id
where 1 = 1
and upper(ec.contract_number) like '%2016%'

union all

select SpContractIdCont conid
from dms_dmsnew.emis_syn_boadrinfo bd
join dms_dmsnew.emis_conheaderinfo ec
on bd.contract_header_id = ec.contract_header_id
left join dms_dmsnew.EMIS_REF_CONTICONTRACT erc
on bd.emis_syn_boadrinfo_id = erc.emis_syn_boadrinfo_id
left join v_maintain m
on erc.emis_ref_conti_header_id = m.emis_ref_conti_header_id
and m.emis_syn_boadrinfo_id = erc.emis_syn_boadrinfo_id
where 1 = 1
and upper(ec.contract_number) like '%2016%')

select t.contract_header_id id,t.contract_number no
from emis_conheaderinfo t
where 1 = 1
and exists (select 1 from zte where conid=t.contract_header_id)

with是把多个表当成一个视图

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。