Rails SQL查找关联具有列表ID的所有位置

时间:2015-11-17 13:36:49

标签: sql postgresql ruby-on-rails-4

嘿,全部!

使用Rails 4,Postgresql

如何找到所有至少拥有ID列表

的图书的用户

IN,就像吼叫,不工作

滑轨

list = [1,2,3]
User.includes(:books).where('books.id IN (?)', list)

SQL

SELECT "users".* FROM "users"
INNER JOIN "books" ON "books"."user_id" = "users"."id"
WHERE "books"."id" IN (1,2,3)

我需要找到需要书籍1,2和3的用户。

由于

1 个答案:

答案 0 :(得分:-1)

谢谢,LongBeard_Boldy

https://stackoverflow.com/users/5093622/longbeard-boldy

它有效

EDITED

添加解决方案:

list = [1,2,3]
User.joins(:books).where('books.id IN (?)', list).group('users.id')
  .having("COUNT(users.id) >= ?", list.length)