2013-07-17 9 views
5

Ich möchte eine Abfrage für das Schreib folgende Verwendung in dem VerfahrenWie verschachtelte Query in Ruby on Rails schreiben?

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

Ich habe versucht, folgende Abfrage verwenden, aber mit einem Syntaxfehler

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

beendet Bitte helfen

Antwort

2

hoffentlich shud diese Arbeit!

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