从sql中的多行检查条件并返回true或false

时间:2015-04-21 03:32:34

标签: mysql sql

表X

ColA     ColB      ColC
------------------------
 A       10      Not NULL
 B       20      Not NULL
 C       10      Not NULL
 D       50      Not NULL
 E       20      Not Null

我想要一个声明columnB in (10,20)然后返回'1',否则'0' 忽略ColB中的其余值

上表的示例输出: 1

它应该类似于 -

Select
case
when ColB is in (10,20) the '1' else '0'
from Table X
where 
ColC is NOT NULL;

2 个答案:

答案 0 :(得分:0)

你能更好地指明你的问题吗?

如果我理解它,你只需要一个嵌套的IF语句。

SELECT 
    IF(COLB = 10, 1, IF(COLB = 20, 1, 0)) AS MYRES
FROM
    CFGMML_CTARNC01;

答案 1 :(得分:0)

如果我正确理解你的问题,也许你正在寻找条件聚合:

select max(case when colb in (10,20) then 1 else 0 end) result
from yourtable