Как использовать Случай, когда проверить состояние? - PullRequest
0 голосов
/ 01 мая 2020

У меня есть столбец, который я хотел проверить и создать вычисляемый столбец, мои записи - это поле Имя и тег, третий столбец - это то, что я хотел увидеть после применения оператора case.

Name   Tag                                Calculatedcolumn
Jhon   Subject,Privacy                    Subject
Karla  NonPersonal,Privacy                Not Applicable
Luke   Privacy,Data,Agent                 Not Available

Мое условие: - Сначала проверьте «субъект» в поле тега, если найдено, поместите его в вычисляемый столбец и завершите, если «субъект» не найден, проверьте «Не личный», если найден, поставьте «Не применимо» в расчетный столбец. Если «Subject» и «NonPersonal» не найдены, укажите «Not Available».

Case 
         when Tag like '%Subject%' then 'Subject'
         When Tag like '%NONPERSONAL%' then 'Not Applicable' 
         else 'Not Available' end as CalculatedColumn

Но это не сработало, как я хотел, полученный результат дублируется.

Name   Tag                                Calculatedcolumn

Jhon   Subject,Privacy                    Subject
Karla  NonPersonal,Privacy                Not Applicable
Karla  NonPersonal,Privacy                Not Available
Luke   Privacy,Data,Agent                 Not Applicable
Luke   Privacy,Data,Agent                 Not Available

Есть идеи?

Ответы [ 2 ]

1 голос
/ 01 мая 2020

Это можно сделать так:

SELECT 
(CASE WHEN Tag like '%Subject%' THEN 'Subject' 
WHEN Tag like '%NonPersonal%' THEN 'Not Applicable' 
ELSE 'Not Available' END) as CalculatedColumn

Это прекрасно работает

1 голос
/ 01 мая 2020

Вы почти у цели. Я думаю, что вы хотите:

case 
     when tag like '%Subject%'     then 'Subject'        --> instead of "Tag"
     when tag like '%NonPersonal%' then 'Not Applicable' 
     else 'Not Available' 
end as CalculatedColumn
...