如何忽略where子句中的条件

时间:2011-04-04 15:05:18

标签: mysql select where-clause

SELECT field1 FROM table1     WHERE field1> = 4006       AND field1< (         SELECT field1         从表         WHERE field1> 4006               AND field2 = false         ORDER BY field1         限制1     )

如果内部选择没有返回记录,我想要忽略第二个条件(AND field1 <)。

与此topic

相关

1 个答案:

答案 0 :(得分:2)

像(未经测试的!):

SELECT field1 FROM table1
WHERE field1 >= 4006 
  AND (field1 < (
    SELECT field1 
    FROM table
    WHERE field1 > 4006
          AND field2 = false
    ORDER BY field1 
    LIMIT 1
    )
    OR
    NOT EXISTS (
    SELECT field1 
    FROM table
    WHERE field1 > 4006
          AND field2 = false
    ORDER BY field1 
    )
)