Пересечение запроса с activerecord

Мне бы очень хотелось выполнить следующий запрос с помощью активной записи.

(select *
from people p join cities c join services s
where p.city_id = c.id and p.id = s.person_id and s.type = 1)

intersect

(select *
from people p join cities c join services s
where p.city_id = c.id and p.id = s.person_id and s.type = 2)

Проблема, во-первых, в том, что mysql не поддерживает пересечение. Однако это можно обойти. Дело в том, что я могу получить активную запись для вывода чего-либо даже близко к этому.

В активной записи лучшее, что я мог сделать, это выполнить несколько запросов, а затем использоватьreduce :&  присоединиться к ним, но затем я получаю массив, а не отношение. Это проблема для меня, потому что я хочу назвать такие вещи, как лимит и т. Д. Кроме того, я думаю, что было бы лучше, если бы пересечение выполнялось базой данных, а не кодом ruby.

Ответы на вопрос(3)

Ваш ответ на вопрос