如何在mysql select语句中实现if else条件

时间:2014-10-29 10:10:30

标签: mysql sql ruby-on-rails mysqli

我想检查表中两个字段中的值,并根据我要显示字段1或字段2的值。  例如:

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

我想使用plane sql实现这一点,因为我需要使用ActiveRecord::Base.connection.select_values("sql query")

在rails的控制器中实现它

实现相同的SQL查询应该是什么。我无处可寻。提前谢谢。

2 个答案:

答案 0 :(得分:3)

使用CASE

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

答案 1 :(得分:0)

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