SPEC
Мне нужно, чтобы выбрать все номера, которые не имеют ни одного дня с saleable = FALSE
в указанный период времени (07-09 ~ 07-19)
:Можно ли преобразовать комплекс SQL в рельсы?
У меня есть таблица номер с 1 строкой за номер.
У меня есть стол room_skus с одной строкой за номер и день (полный комплект для соответствующего временного диапазона).
Столбец ходком является булево NOT NULL и дата определена дата NOT NULL
SELECT id
FROM room r
WHERE NOT EXISTS (
SELECT 1
FROM room_skus
WHERE date BETWEEN '2016-07-09' AND '2016-07-19'
AND room_id = r.id
AND NOT saleable
GROUP BY 1
);
выше SQL-запрос работает, но мне интересно, как я мог бы перевести его в Rails ORM.
Спасибо за ваш repla, это действительно помогает много Но я думаю, что это будет проблемой, То есть, что номер, который не имеет никаких записей RoomSku на '2016-07-12' Вышеупомянутая комната также должна быть удалена из результата. – user3675188
Я обновил ответ – dsounded