2014-10-29 2 views
0

Я хочу, чтобы проверить значение присутствует в двух полей таблицы и, основываясь на том, что я хочу, чтобы отобразить либо поле 1 или поле 2. Для примера:Как реализовать Если еще условие тузд оператора выбора

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

Я хочу добиться этого с помощью самолета SQL, потому что мне нужно это реализовать в контроллере рельсов с использованием ActiveRecord::Base.connection.select_values("sql query")

Какой должна быть SQL запрос, чтобы достичь того же. Я не мог найти его нигде. Заранее спасибо.

ответ

3

использование CASE

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

как удалить нулевые значения? –

0

Пожалуйста, попробуйте User.find_by_sql("your sql query")

Смежные вопросы