mySQL CASE THEN <something> ELSE <dont select =“”> </dont> </something>

时间:2011-06-05 00:03:50

标签: php mysql sql

我在WHERE子句中使用mySQL查询和CASE语句。

SELECT * from places WHERE 
                        CASE WHEN
                            column1 > column2
                        THEN 
                            id > 100
                        WHEN 
                            column1 < column2
                        THEN
                            id < 100
                         ELSE
                            <DONT SELECT THE ROW>
                         END

如果column1 = column2(意味着我们在ELSE分支中),我不知道如何不选择任何行。我该怎么做到这一点?

2 个答案:

答案 0 :(得分:5)

SELECT * from places WHERE 
                    CASE WHEN
                        column1 > column2
                    THEN 
                        id > 100
                    WHEN 
                        column1 < column2
                    THEN
                        id < 100
                    END
AND column1 != column2

答案 1 :(得分:0)

尝试添加不可能的条件ELSE 0 = 1。我不能100%确定的另一个选项是不在ELSE中添加任何内容 - 它必须具有默认ELSE NULL