【发布时间】:2012-12-09 15:30:18
【问题描述】:
感谢this answer 我之前的问题和this article 我找到了改写这个查询的方法:
SELECT * FROM participants
GROUP BY conversation_id
HAVING sum(user_id not in (1,3)) = 0
到这个 Rails 样式查询:
Participant.find(:all, group: "conversation_id HAVING sum(user_id not in (1,3)) = 0")
我是 Rails 新手,但在我看来这是旧语法 - 最困扰我的是我在其中使用了很多 sql,而不是全部使用 Rails 语法。
我怎样才能更进一步地改写上面的查询,以便它只用 Rails 语法编写,可能不需要引号?我需要确保这将与不同的数据库一起运行。
【问题讨论】:
标签: mysql sql ruby-on-rails activerecord