2012-01-21 5 views
-1

나는 테이블에 쿼리를하고 있어요 : 내가 원하는 반환 작동두 쿼리를 병합하려면 어떻게해야합니까?

@answears = Answear.where("round_id = ? AND group_id <> ? AND value <> 'HIGHNOON'", @round.id, @group.id 

합니다. 하지만 다른 검색어가 있습니다.

@answears = Answear.where(:group_id => [1, 3, 5]) 

도 작동합니다.

어떻게이 둘을 하나로 병합 할 수 있습니까? 배열 값

+0

질문과 관련이 없지만 Answear가 답변으로되어 있습니까? –

답변

0

사용 IN (?) : 당신은 단순히 그들을 체인 수

@answears = Answear.where("round_id = ? AND group_id IN (?) AND value <> 'HIGHNOON'", @round.id, [1, 3, 5]) 
+0

작동하지 않습니다. Baldrick –

1

. 당신이 고려하는 것이 좋습니다

Answear.where("round_id = ? AND group_id <> ? AND value <> 'HIGHNOON'", @round.id, @group.id).where(:group_id => [1, 3, 5]) 

두 노트 : 당신은 두 번 쿼리에서이 방법을 GROUP_ID 한

  1. . @group.idwhere 메소드로 전달되는 그룹 ID의 배열에 없는지 확인하는 것이 좋습니다.
  2. 답변은 단어가 아닙니다. 아마도 모델의 이름을 Answer라고해야합니다.
관련 문제