Я нашел похожий вопрос, но он не удовлетворил мой ответ: SQL: выберите записи, в которых ВСЕ соединенные записи удовлетворяют некоторому условию
У меня есть две таблицы: orders
и shipments
orders
have_many shipments
отправления имеют статус атрибута open/closed
Я бы хотел запросить заказы, где все его отправления closed
:
Предполагаемая таблица:
- order1, 2 партии: 1открытый, 1 закрытый
- order2, 3 партии: 1открытый, 2 закрытых
- order3,1 отправка: 0открыто, 1 закрыто
- заказ4, 2 отправления: 0открыто, 2 закрыто
Выполнение запроса возвращает записи для order3
и order4
Яв настоящее время это делается с помощью N + 1 с использованием кода приложения, я хотел бы просто реализовать в SQL.