2012-01-21 68 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]) 

有兩點需要注意:

  1. 你在查詢GROUP_ID兩次這樣。確保@group.id不在您傳遞給where方法的組ID的數組中,這樣做更有意義。
  2. Answear不是一個詞。你應該可以命​​名你的模型答案。