Задача будто бы типичная, и во многих магазинах реализована, а как сделать не знаю. Есть таблица товаров и опций, связаны многие-ко-многим, habtm, через третью таблицу тобишь. И вот, допустим, нужно получить все товары, у которых опции id 1 и 2, сейчас sql такого вида: where ... in (1, 2), это опции и/или 1 и 2, а надо интерсекцию, пересечение, т.е чтобы опции у товара были и 1, и 2. Есть решение попроще, чтобы activerecord в рельсах справился? (бд postgres). Я про join, INNER JOIN который. Упрощенный запрос как сейчас: SELECT поля FROM products INNER JOIN options_products ON options_products.product_id = products.id INNER JOIN options ON options.id = options_products.id WHERE *всякие условия* AND options.id IN(1, 2)
Ответ на:
комментарий
от Romaboy
Ответ на:
комментарий
от OnlineMagic
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Как правильно написать sql запрос (2012)
- Форум Запрос статистики (2014)
- Форум Изменить запрос (2016)
- Форум помогите правильно написать SQL запрос (2013)
- Форум sqlite3 - соединить три таблицы (2010)
- Форум [NoSQL] Выборки в HBase (2011)
- Форум При update таблицы идет seq scan (2021)
- Форум Постгрес игнорирует unique index (2021)
- Форум запрос к базе c использованием MAX (2012)
- Форум SQL запрос на пересечение внутри одной таблицы (2010)