Возвращаемое количество, если связанная таблица не содержит определенного значения - PullRequest
0 голосов
/ 15 октября 2018

Я связываю две таблицы в Microsoft SQL Server.В одной таблице содержатся документы, а в другой - состояние события, в котором мне нужно указать условие.

В таблице документов я просматриваю код документа, который связан с событием, например 371268-INV-1 и 371268-INV-1-APPROVED.На мероприятие должно быть 2 документа.

Мне нужно возвращать значения / значения, если статус из таблицы «События» утвержден, но нет кода документа, содержащего «Утверждено».

Я начал использовать:

select * from Documents
join EVENTS on event_code = left (document_code, 6) 
where document_code like '371268%' and Event_Status = 'Approved'

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Если я правильно понимаю, это то, что вам нужно

select * from Documents
join EVENTS on event_code = left (document_code, 6) 
WHERE 
EVENTS.Event_Status = 'Approved' AND Documents.document_code NOT LIKE '%APPROVED';
0 голосов
/ 15 октября 2018

Это получит все утвержденные события, которые не имеют 2 записей в таблице документов.Я думаю, что это даст вам результаты, которые вы ищете.

select * 
from events
where event_status = 'approved'
   and event_code not in(select left (document_code, 6) 
                         from documents 
                         group by left (document_code, 6) 
                         having count <>2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...