2014-10-29 53 views
0

我想检查表中存在的两个领域,并基于该值,我想无论是显示领域的1或2场 例如:如何实现。如果在mysql中select语句else条件

Select name from users if address1='Mars' 
else select age from users if address2='Mars'; 

我想是因为我需要使用ActiveRecord::Base.connection.select_values("sql query")

应该是什么SQL查询来达到同样执行这一轨道中的控制器来实现这一点使用平面SQL。我无法在任何地方找到它。提前致谢。

回答

3

使用CASE

SELECT CASE 
      WHEN address1='Mars' THEN name 
      WHEN address2='Mars' THEN age 
     END 
FROM users 
+0

如何删除空值? – 2014-10-29 11:16:13

0

请尝试User.find_by_sql("your sql query")