I have this sql query which works well:
SELECT distinct
A,
CASE
WHEN Parameter = 'ID' and regexp_like (VALUE, 'FOO')
THEN VALUE
ELSE 'NA'
END AS test FROM my_table;
my_table
A | parameter | value |
---|---|---|
x | ID | FOO1223 |
y | ID | FOO5462 |
z | ID | empy |
p | ID | BAR5432 |
result:
A | value |
---|---|
x | FOO1223 |
y | FOO5462 |
z | NA |
p | NA |
Now I would like to exclude VALUE that starts with 'BAR'. How can I add this to the CASE...WHEN statement?
The output should look this:
A | value |
---|---|
x | FOO1223 |
y | FOO5462 |
z | NA |
CodePudding user response:
Do NOT LIKE
in the WHERE
clause to skip the rows where value start with BAR.
SELECT distinct
A,
CASE
WHEN Parameter = 'ID' and regexp_like (VALUE, 'FOO')
THEN VALUE
ELSE 'NA'
END AS test FROM my_table
WHERE value NOT LIKE 'BAR%'