создать новый столбец в таблице в зависимости от другого столбца - PullRequest
0 голосов
/ 19 сентября 2019

в моей таблице я получил столбец, в котором написана балансовая единица

example
DE06 or DE07

, теперь мне нужно добавить в эту таблицу новый столбец, в котором в качестве значений "YES" будет указано DE06 и "NO"'для DE07

Я пытаюсь добавить условие только для De06, но не могу заставить его работать

ALTER Table dbo.DE06_PROJECT$
add [PROJECT_COMPANY_CODE2] nvarchar(50)   null 
GO
UPDATE dbo.DE06_PROJECT$ SET [PROJECT_COMPANY_CODE] ='YES'   where([COMPANY_CODE]='DE06')
GO

Мне нужен новый столбец [PROJECT_COMPANY_CODE2] с результатом' YES 'или' NO 'основанный на значении столбца [COMPANY_CODE]

Я забыл упомянуть, что в будущем мне могут понадобиться 3 варианта «YES» для DE06 и «NO» для DE07 и «MAYBE» для DE08

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

Используйте вычисляемый столбец для обеспечения согласованности данных:

ALTER TABLE dbo.DE06_PROJECT$
ADD [PROJECT_COMPANY_CODE] AS CASE [COMPANY_CODE] WHEN 'DE06' THEN 'YES'
                                                  WHEN 'DE07' THEN 'NO'
                                                  WHEN 'DE08' THEN 'MAYBE'
                                                  ELSE 'whatever' END
0 голосов
/ 19 сентября 2019

Если у вас есть SQL Server, вы можете перейти на CASE

UPDATE dbo.DE06_PROJECT$ 
SET [PROJECT_COMPANY_CODE] = CASE WHEN [COMPANY_CODE]='DE06' THEN 'YES' ELSE 'NO' END
...