min*_*als 4 sql oracle oracle-sqldeveloper
我的表 MYTABLE 有三列(ID、NUM、NAMES)。有一个列 NAMES。我需要检查 NAMES 列,看看名字是 JACK 还是 BRUCE,以及相应的 NUM 列 = 0。如果找到匹配项,则返回 1,否则返回 0。
ID NUM NAMES
1 1 'TOM'
2 1 'MIKE'
3 0 'JACK'
4 1 'MICKY'
5 0 'BRUCE'
Run Code Online (Sandbox Code Playgroud)
我提出了以下查询:
select *
case NAMES in ('JACK', 'BRUCE') and NUM=0 then 1 else 0 end as MYNAMES
from MYTABLE;
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用。
这有效(SQLFiddle 演示):
SELECT id, num,
CASE WHEN names IN ('JACK', 'BRUCE') AND num=0
THEN 1 ELSE 0 END AS mynames
FROM mytable
Run Code Online (Sandbox Code Playgroud)