2011-10-14 127 views
0

有人能幫助我,爲什麼下面的SQL語句不會被存儲在變量@var?在這個陳述後,變量的值應該是「YES」或「NO」。find_by_sql並選擇案例

SQL

SELECT CASE WHEN MAX(user_id) IS NULL THEN 'NO' ELSE 'YES' END User_exists 
FROM user_id_table 
WHERE user_id = 'some_user'; 

我發現這種說法here

Ruby on Rails的

@var = Test.find_by_sql("SELECT CASE WHEN MAX(user_id) IS NULL THEN 'NO' ELSE 'YES' END user_exists 
FROM user_id_table 
WHERE user_id = 'some_user'") 
+0

嘗試使用'ActiveRecord :: Base.connection.execute'而不是'find_by_sql' – Bohdan

+0

我不是沒有爲什麼,但這總是返回true ...? – shub

回答

0

的解決方案是ActiveRecord::Base.connection.select_rows()