Задача будто бы типичная, и во многих магазинах реализована, а как сделать не знаю. Есть таблица товаров и опций, связаны многие-ко-многим, 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)