【发布时间】:2014-04-19 22:18:05
【问题描述】:
我想获得一个用户的共同朋友,即我关注的人,然后再关注我的人:
# get users I'm following
following_ids = "SELECT followed_id FROM relationships WHERE follower_id = #{self.id}"
# get user that are following me
follower_ids = "SELECT follower_id FROM relationships WHERE followed_id = #{self.id}"
User.where("id IN (#{following_ids} INTERSECT #{follower_ids})")
但是,我收到以下错误:
Mysql2::Error: 你的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本以获得正确的语法 在 'INTERSECT SELECT follower_id FROM 关系 WHERE 附近使用 follow_id = 2))' 在第 1 行:SELECT
users.* FROMusersWHERE (id IN (SELECT follow_id FROM 关系 WHERE follower_id = 2 INTERSECT SELECT follower_id FROM 关系 WHERE follow_id = 2))
个别查询确实有效,所以我知道这是 INTERSECT 关键字的问题。
【问题讨论】:
标签: mysql sql ruby-on-rails