数据库
首页 > 数据库> > mysql-如何忽略where子句中的条件

mysql-如何忽略where子句中的条件

作者:互联网

从表1中选择字段1
    WHERE field1> = 4006
      AND field1< (
        选择字段1
        从表
        WHERE field1> 4006
              AND栏位2 =假
        ORDER BY栏位1
        限制1
    )

如果内部选择未返回任何记录,我希望忽略第二个条件(AND field1<). 与此相关的topic

解决方法:

像(未经测试!)之类的东西:

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 
    )
)

标签:mysql,select,where-clause
来源: https://codeday.me/bug/20191014/1911927.html