2015-04-08 1 views
0

Ниже приведена таблица 1Я хочу получать только номер документа в одной таблице, но не в другой таблице

select 
    nContractPk 
from 
    CustomerPayment 
where 
    nContractPk in (select id    
        from Contract 
        where id in (SELECT nContractPk 
           FROM CustomerPayment 
           GROUP BY nContractPk 
           HAVING COUNT(CASE WHEN bPaid <> 1 THEN 1 END) = 0 
            AND COUNT(CASE WHEN bPaid = 1 THEN 1 END) > 1) 
            AND nStatus = 10) 

Это вторая таблица:

select 
    nContractPk 
from 
    EmployeePayment 
where 
    nContractPk in (select id  
        from Contract 
        where id in (SELECT nContractPk 
           FROM EmployeePayment 
           GROUP BY nContractPk 
           HAVING COUNT(CASE WHEN bPaid <> 1 THEN 1 END) = 0 
            AND COUNT(CASE WHEN bPaid = 1 THEN 1 END) > 1) 
            AND nStatus = 10) 

Я хочу, чтобы получить только выходы идентификатору оплата клиента, но не в режиме занятости

Пожалуйста, помогите с этим.

Заранее спасибо

ответ

0

Try ЛЕВЫЙ соединение между двумя таблицами и отфильтровать нуль от другого, как показано ниже:

SELECT c.nContractPk 
FROM CustomerPayment c LEFT JOIN EmployeePayment e 
ON c.nContractPk = e.nContractPk 
WHERE e.nContractPk IS NULL 
Смежные вопросы