exists 对比
select distinct frrr1.id_bill,
frrr1.id_info_detail,
frrr1.pc_no,
frrr1.id_visit,
frrr1.insurance_amount,
frrr1.medical_org_code,
frrr1.insurance_type,
frrr1.region_code,
frrr1.area_code,
frrr1.settle_date,
frrr1.detail_sum_amount,
frrr1.out_hosp_date,
frrr1.in_hosp_date,
fbid.fund_pay_amount
from fwa_rule_run_result frrr1, fwa_bill_info_detail fbid
where 1 = 1
and frrr1.id_info_detail = fbid.id_info_detail
--条件一
and exists (select 1
from fwa_rule_base frb
where frb.rule_id = frrr1.rule_id
and frb.rule_granularity = '2')
--条件二
and not exists (select 1
from fwa_rule_run_result frrr2
where 1 = 1
and frrr2.id_bill = frrr1.id_bill
and exists
(select 1
from fwa_rule_base frb
where frb.rule_id = frrr2.rule_id
and frb.rule_granularity <> '2'))
谁能告诉我两个条件有啥区别。。。这两个条件给我的感觉就是:条件一,我要的答案在2中。条件二,我要的答案不能不在2中。
why?
语句写的也稍复杂,可能小弟没看懂,哪位大神给解释下。