2011-06-15 159 views
3

我想在一個表中選擇一切數據庫中選擇其中的一切一列==「東西」或「somethingelse」。在==東西或別的東西,

是否有這樣做,而不使用原始SQL的方式?類似於以下內容將是理想的。

Table.where(:col => "something" OR "somethingelse") 
+0

當你說你想在不使用原始SQL的情況下執行此操作時,你是什麼意思?您是否試圖寫一個查詢,而無需在SELECT和FROM子句?這沒有任何意義。 – 2011-06-15 20:36:43

回答

5
Table.where(:col => ["something", "somethingelse"]) 

應該產生

SELECT * FROM table WHERE col IN ('something', 'somethingelse') 
+0

醜陋版本:'MyModel.where(my_model [:山口] .EQ( '東西')或(my_model [:山口] .EQ( 'somethingelse')))' – Zabba 2011-06-15 21:32:55

2

您可以使用:

MyModel.where("col1 = ? or col1 = ?", "something","somethingelse") 
-1

你可以用這樣的說法:

select * from table_name where column_name = value1 or column_name = value_2 

ÿ ou還可以使用:

select * from table_name where column_name in (value1,value2)