Sql получить поля без связи в другой таблице - PullRequest
1 голос
/ 04 ноября 2011

У меня есть 2 таблицы: клиенты и заказы.У клиента много заказов, и заказ принадлежит клиенту.Заказ может быть утвержден (помечен полем Approve_at).Я хочу получить всех клиентов без одобренного заказа.Это включает в себя клиентов без какого-либо заказа и клиентов с заказами, которые не были утверждены (accept_at = null)Могу ли я сделать это в одном запросе без подзапросов?

Ответы [ 2 ]

1 голос
/ 04 ноября 2011
SELECT ..., COUNT(Orders.id) AS cnt
FROM Customers
LEFT JOIN Orders ON (Customers.id = Orders.Customer_id) AND (Orders.approved_at is null)
HAVING cnt = 0
0 голосов
/ 04 ноября 2011
SELECT c.*
FROM Customers c
LEFT JOIN Orders o ON c.ID = o.CustomerID
WHERE o.ID IS NULL OR c.Approved_at IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...