выберите устав с учетом состояния sqlserver - PullRequest
1 голос
/ 02 марта 2011

у меня есть таблица сотрудников

empname code1  code2
 kiran   aa    bng
 manju   yh    yh
 anu     yu01  yuo1

, теперь мне нужно сделать следующее заявление типа

SELECT case when (employee.code1)=''
 then         
      mappingcode.Code            
   else             
then
       employee.code2          
   end as Code   
 FROM 
employee  where bic1=  'kiran'

, но я получаю ошибку,

в моемпроект У меня есть похожая проблема, просто не объяснил проблему, я определил проблему

что мне нужно сделать здесь, сначала проверьте code1, если null устанавливает свое значение из другой таблицы, если не присваиваете значение code2 для code1

code1 -> code2

я получаю сообщение об ошибке, так как идентификатор состоит из нескольких частей employee.code2 надеюсь, что мой вопрос ясен

кто-нибудь может мне помочь?синтаксис как этого добиться.

спасибо

принц

1 Ответ

1 голос
/ 02 марта 2011

Если вы просто хотите выбрать, я думаю, что это поможет вам:

    SELECT empname, CASE 
WHEN employee.code1 IS NULL THEN mappingcode.code
ELSE
employee.code2 end as Code1
FROM employee INNER JOIN mappingcode ON employee.empname = mappingcode.empname

Если вы хотите обновить, попробуйте это:

    Update employee set code1 = x.code from (SELECT empname, CASE 
WHEN employee.code1 IS NULL THEN mappingcode.code
ELSE
employee.code2 end as code
FROM employee INNER JOIN mappingcode ON employee.empname = mappingcode.empname) x 
 inner join employee on employee.empname = x.empname

Не зная больше о вашей схеме, я думаю, это то, что вы ищете.

Спасибо Андрею за то, что он указал на то, что у меня был тот же выбор в моей записи и небольшая ошибка:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...