select t1.id, t1.title from posts t1
inner join (select title, body from posts group by title) as t2 on t1.title = t2.title where title = ?
Пробовал:
Post
.select(:id, :title)
.joins('INNER JOIN (SELECT title, body from posts AS t2)')
.group(:title)
.where('title = ?', title)
Не знаю, как установить t1
на него.
Если нет, возможно, ActiveRecord::Base.connection
- единственный способ.
Подробнее
Для этого sql:
p = Post.select("t1.title")
.from("posts t1")
.joins("INNER JOIN (SELECT title, MAX(id) AS maxID FROM posts WHERE category_id = ? GROUP GY title) AS t2 ON t1.title = t2.title AND t1.id = t2.maxID", 1)
Почему здесь нельзя установить параметр category_id
в методе joins
?
После запуска этого источника p.title
получил NoMethodError: undefined method title
.