首页 Oracle oracle with语句

oracle with语句

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_

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是把多个表当成一个视图

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/oracle/20200722/6774.html
上一篇
下一篇

作者: dawei

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

为您推荐

返回顶部