2017-04-07 9 views
0

ANY/ALL을 사용하여 DB에 쿼리를 생성해야합니다. 연구 Arel 가능성 후 내가 Arel은 (예 : eq, lt, gt 등)에 대한 짧은 명령을 찾지 못했지만, 단 하나의 예를 가지고 Arel::SqlLiteral을 가지고 있습니다. 나에게는 내가 같은 고전 쿼리를 사용하는 방법을 obviousl하지 : 대신 예에서 쿼리의Arel (Rails) 복잡한 쿼리를 만들 수 있습니까?

SELECT column_name(s) 
FROM table_name 
WHERE column_name operator ALL 
(SELECT column_name FROM table_name WHERE condition); 

합니다. 누군가가 어떻게 보일 것인가를 보여줄 수 있습니까?

+0

흠 .. 어떤 생각을? –

답변

2

당신은 Arel의 사용없이, 액티브 방법과 그것을 할 수 없다 :

sub_query = Model.select(:column_name).where(condition).to_sql 
Model. 
    select("column_name(s)"). 
    where("column_name operator ALL (#{sub_query})")