Sql 数据存在和不存在
我有两张桌子 表1Sql 数据存在和不存在,sql,oracle,Sql,Oracle,我有两张桌子 表1 Claim_id Claim_Status -- Includes values of "PAID" and "DENIED" 表2-此表包含与表1相同的索赔,但包含行项目详细信息 Claim_id Line_number Status -- Includes values of "PAID" and "DENIED" 表1中的已支付状态索赔id可能有表2中状态为的行 一个特定的付费索赔可能有几行被拒绝 我需要提取所有行都处于“已支付”状态的索赔数量, 对于给定的索赔
Claim_id
Claim_Status -- Includes values of "PAID" and "DENIED"
表2-此表包含与表1相同的索赔,但包含行项目详细信息
Claim_id
Line_number
Status -- Includes values of "PAID" and "DENIED"
表1中的已支付状态索赔id
可能有表2中状态为的行
一个特定的付费索赔可能有几行被拒绝
我需要提取所有行都处于“已支付”状态的索赔数量,
对于给定的索赔id
,有些行“已支付”,有些行“被拒绝”的索赔数量
SELECT x.claim_id, x.claim_status, x.payer_id1
FROM HEADER_CLAIM_TABLE x
WHERE x.payer_id1 = 'company_Z'
AND x.claim_id in (SELECT a.CLAIM_ID,
a.LINE_NUMBER,
a.STATUS,
a.payer_id
FROM LINE_DETAIL_CLAIM_TABLE a
WHERE EXISTS (SELECT b.*
FROM LINE_DETAIL_CLAIM_TABLE B
WHERE b.status = 'DENIED')
AND a.claim_id = b.claim_id
AND a.line_number = b.line_number
AND a.payer_id = b.payer_id)
AND x.claim_status = 'PAID'
我是新来的,所以请原谅,如果上面的问题是完全不正常的。请帮助获取此数据
谢谢。这里有一些老式sql。试试这个
select claim_with_no_deny.cnt PAID_COUNT, claim_with_deny.cnt WITH_DENY_COUNT
from
(select count(*) cnt from HEADER_CLAIM_TABLE h where
exists (select 1 from LINE_DETAIL_CLAIM_TABLE D where h.claim_id=d.claim_id and d.status = 'DENIED') claim_with_deny,
(select count(*) cnt from HEADER_CLAIM_TABLE h where
not exists (select 1 from LINE_DETAIL_CLAIM_TABLE D where h.claim_id=d.claim_id and d.status = 'DENIED') claim_with_no_deny
很抱歉它是甲骨文。你为什么要为给定的索赔id这么做?也许对于给定的索赔id,您可以获得支付或拒绝的行数…我想找到#部分支付的索赔(例如,一些行已支付,一些行已拒绝)和#全额支付的索赔(所有行均处于“已支付”状态)