oracle:两张表,一张个人信息表,一张是用户借据表,如何查出借据表中没有逾期的记录
·
两张表的基本信息
借据表的基本信息A:

分两种状态:
-- 结清状态
select DISTINCT LOAN_DEBT_STS from A where LOAN_STS='SETL';

-- 非结清状态
-- 非结清状态
select DISTINCT LOAN_DEBT_STS from LM_LOAN where LOAN_STS='ACTV';

业务问题一:要找初还款从未逾期的人的身份证号
问题的关键在于要排除部分逾期和全部逾期的人的名单:
-- 剩下的就是从未逾期的人的身份证号
select distinct c.ID_NO
from LM_LOAN c
where c.LOAN_STS = 'ACTV'
-- 排除全部逾期
AND not exists(SELECT 1
From LM_LOAN lc
Where lc.LOAN_STS = 'ACTV'
AND lc.LOAN_DEBT_STS = 'OVER'
AND c.ID_NO = lc.ID_NO)
-- 排除部分逾期
and not exists(SELECT 1
From LM_LOAN ld
Where ld.LOAN_STS = 'ACTV'
AND ld.LOAN_DEBT_STS = 'DELQ'
AND c.ID_NO = ld.ID_NO)
主要是使用了not..exists .. 这个内置函数
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)