2016-02-25 5 views
0

У меня есть вид SQL Server 2008, который имеет три столбца, Name, Employee, Customer. Я работаю над обсадкой столбцов Employee и Customer, которые должны быть установлены как 0 или 1 на основе столбца да/нет, а не проблемы.SQL case другой существующий столбец

Однако в столбце имен есть некоторые записи, которые имеют заданные имена, такие как «Emp», и я хочу каким-либо образом передать эту информацию в столбец Employee. Когда я пытаюсь использовать столбец Employee, используя столбец Name, он не выглядит правильно.

CASE 
    WHEN Employee = 'No' 
     THEN '0' 
    WHEN Employee = 'yes' 
     THEN '1' 
    ELSE '0' 
END 

Я пробовал следующее, но, похоже, он работает неправильно и может использовать некоторые рекомендации.

CASE 
    WHEN table.Name = 'Emp' 
     THEN table.Employee = '1' 
    ELSE '' 
END 

Я видел несколько примеров с as Table Name в коде, но я хочу использовать существующую таблицу с данными, уже в нем.

+0

Эта СУБД для этого? Добавьте тег, чтобы указать, используете ли вы 'mysql',' postgresql', 'sql-server',' oracle' или 'db2' - или что-то еще. –

+1

SQL Server 2008, SQL View. – GabrielVa

+0

Вы хотите просмотреть результаты или обновить столбцы на основе логики? –

ответ

0

Вы пытаетесь объединить их в одно утверждение следующим образом? Я не уверен, что вы ищете.

CASE 
    WHEN Employee = 'No' 
     THEN '0' 
    WHEN Employee = 'yes' OR table.Name = 'Emp' 
     THEN '1' 
    ELSE 0 
END 
+0

Да, инструкция OR работает, вот и билет, ха-ха. Спасибо вам за помощь. – GabrielVa