Я написал простой оператор case, как показано ниже:
case when col_name is null then 'NO' else 'YES' end as col_name
Но я все еще получаю (null) вместо «NO»? Есть идеи?
Я пробовал следовать, но все равно не повезло:
case when isnull(col_name, 0) = 0 then 'NO' else 'YES' end as col_name
Я также пробовал это:
case when nvl(col_name, 0) = 0 then 'NO' else 'YES' end end as col_name
Я знаю, что NULL никогда не равен NULL - NULL - это отсутствие значения. NULL также никогда не может отличаться от NULL.
Весь запрос выглядит примерно так:
Select
t1.col_a,
t1.col_b,
t1.col_c,
.
.
t2.col_a
t2.col_b
from table_1 t1
left join table_2 t2
on t1.col_a = t2.col_a
left join
(select distinct
case when t3.col_name is null then 'NO' else 'YES' end as col_name,
t3.col_a,
t3.col_b,
t3.col_c) ABC
on abc.col_a = t2.col_a