Вывести уникальные ID действующих клиентов, у которых отсутствует услуга "Услуга_3"

введите сюда описание изображения Помогите не могу связать все воедино, чтобы вышел запрос

Select DISTINCT c.ClientID
from Clients as c
where DateTo = '31.12.9999' -- возвращает уникальных пользователей

как убрать из выборки всех пользователей тех, у кого есть услуга 3?

select distinct ClientID
from Products
where ProductType = 'Услуга_3' -- возвращает пользователей, у которых есть услуга 3

select distinct ClientID --возвращает всех пользователей
from Products

Ответы (1 шт):

Автор решения: vp_arth

Самое простое — написать ровно то, что вам нужно:

Select DISTINCT c.ClientID
from Clients as c
where DateTo = '31.12.9999'
  and not exists(select 1 from Products where ClientID = c.ClientID AND ProductType='Услуга_3')

Можно использовать join

Select DISTINCT c.ClientID
from Clients as c
LEFT JOIN Products p ON p.ClientID = c.ClientID AND p.ProductType = 'Услуга_3'
WHERE p.ProductType IS NULL
  AND c.DateTo = '31.12.9999'
→ Ссылка