2013-07-22 2 views
0

나는 다음과 같은 쿼리를 기반으로 레일 모델 범위를 만들려고 노력 해요 :레일 - A의 SELECT 사용하여 WHERE 절

SELECT * FROM tableA a 
INNER JOIN tableB b ON a.id = b.id 
WHERE a.id = (SELECT MAX(id) FROM tableB WHERE field = a.field) 

내가 TableB의 행의 하나 (최대로 TABLEA의 행을 가입 할을 하나). 가능합니까?

감사합니다.

답변

1
TableA 
     .joins(:tableB) 
     .where("a.id = (SELECT MAX(id) FROM tableB WHERE field = a.field)") 

당신이 joins 방법은 그것은 일

+0

작동하려는 경우 두 테이블 사이의 association을해야합니다, 감사합니다! – stefanobaldo