Postgres在Rails上加入查询
问题描述:
我研究了很多,找不到我的问题的答案。我有我的Rails应用以下设置:Postgres在Rails上加入查询
class Group < ActiveRecord::Base
has_many :people
# ...
end
class City < ActiveRecord::Base
has_many :people
# ...
end
class Person < ActiveRecord::Base
belongs_to :city
belongs_to :group
# ...
end
人民有列:role
是0
或1
。
我想让所有至少有一个人的团体拥有role == 0
和一个人拥有role == 1
。
有什么想法?顺便说一句,我正在使用Postgres。
答
这里我只是在我的sqlite3的数据库测试查询(应在Postgres的工作太相信):
Group.select("groups.*").joins("LEFT JOIN people on groups.id = people.group_id").where("people.role==0 OR people.role==1").group("id")
在这里,我假设你已经添加了外键GROUP_ID在你的人迁移。希望这可以帮助。