如何忽略where子句中的条件 [英] how to ignore a condition in where clause

查看:265
本文介绍了如何忽略where子句中的条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

i want the second condition (AND field1 <) to be ignore if the inner select returned no record.

与此主题

推荐答案

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

Something like (untested!):

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

这篇关于如何忽略where子句中的条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆