Это должно быть просто.MySQL: выберите заказы, которые завершили строки
У меня есть две таблицы: ORDERS и ORDER_LINES. Довольно простой и понятный; это отношения «один ко многим». ORDER_LINES имеет столбец FULFILLED, содержащий дату завершения этой конкретной строки.
Вот что мне нужно сделать: выберите все ORDERS.ID из выполненных заказов; т. е. ни один из столбцов FULFILLED в таблице ORDER_LINES не имеет значения NULL для этого конкретного порядка.
Пример:
Приказ № 1 имеет две линии, оба из которых не равно нулю
Заказ № 2 имеет одну строку, которая является нулевой
запрос должен возвращать только # 1, потому что это полный.
Есть ли «очиститель», агрегатная функция, которая будет делать это вместо вложенного SELECT? – JFriend
@JFriend - Технически, да, есть способ сделать это с помощью агрегатной функции, но почему вы хотите сделать это именно так? Он не будет выражать ваше намерение почти так же хорошо, как функции Exists или In. – Thomas
Я просто думаю о накладных расходах и ресурсах на очень большой базе данных (строки порядка 16 М, 30 одновременных пользователей). – JFriend