如何在rails上的ruby中编写嵌套查询?

nbb*_*bbk 5 mysql where-in nested-query ruby-on-rails-3

我想使用where方法为以下内容编写查询

SELECT * FROM videos 
WHERE  'privacy' = 'public' OR 
       (privacy = 'private' AND 
       id IN (SELECT vid 
              FROM vid_ads
              WHERE 'aid'=#{current_id}))
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下查询但最终出现语法错误

Video.where("privacy = 'public' OR 
            (privacy = 'private' AND id = ?)",
            VidAd.where(:aid => current_id).select("vid"))
Run Code Online (Sandbox Code Playgroud)

请帮忙

roh*_*ith 2

希望这能起作用!

Video.where("category = #{@static_cat} AND
      privacy = 'public' OR
      (privacy = 'private' AND
      id IN (?))",
      VidAd.where(:aid => current_id).select("vid"))
Run Code Online (Sandbox Code Playgroud)