2017-02-02 3 views
0

У меня есть две таблицы.Данные существуют и не существуют

Таблица 1

Claim_id 
Claim_Status -- Includes values of "PAID" and "DENIED" 

Таблица 2 - Эта таблица содержит те же требования из таблицы 1, но с деталями позиции.

Claim_id 
Line_number 
Status -- Includes values of "PAID" and "DENIED" 

платной статус claim_id из таблицы 1, может иметь несколько строк с Status = «DENIED» из таблицы 2

ОПРЕДЕЛЕННОЙ уплаченной претензии может иметь несколько строк отказывали в нем.

Мне нужно вытянуть количество претензий, где все линии находятся в статусе «PAID», и количество претензий, где некоторые линии «PAID», а некоторые линии «DENIED» для заданного claim_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' 

Я новичок в этом, поэтому, пожалуйста, извините, если вышеуказанный запрос полностью выключен. Пожалуйста, помогите в получении этих данных.

спасибо.

+0

я использую ЖАБА. – user6287796

+0

Извините. Его Oracle. – user6287796

+0

Почему вы это делаете для данного претендента? Возможно, для данного идентификатора претензии вы можете получить количество строк, оплаченных или отклоненных ... – Massimo

ответ

0

Вот какой-то старый стиль sql..try это

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 
Смежные вопросы