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 .. 这个内置函数

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值