Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 分组WHERE子句_Sql_Where Clause - Fatal编程技术网

Sql 分组WHERE子句

Sql 分组WHERE子句,sql,where-clause,Sql,Where Clause,我正在尝试编写一个执行以下操作的查询 返回当前FQ中为0的所有值,并返回上一个FQ中不为0的所有值 我想知道是否有办法将WHERE子句分组 基本上,我想在一个WHERE子句中这样做: WHERE date = 3/31/2019 AND value != 0 OR WHERE date = 6/30/2019 AND value = 0 我想让它评估2019年3月31日和价值!=0作为一个子句,然后使用或使其对另一个子句求值 这在单个查询中是否可能 谢谢 Chris一个SQL查询只

我正在尝试编写一个执行以下操作的查询

返回当前FQ中为0的所有值,并返回上一个FQ中不为0的所有值

我想知道是否有办法将WHERE子句分组

基本上,我想在一个WHERE子句中这样做:

  WHERE date = 3/31/2019 AND value != 0
  OR
  WHERE date = 6/30/2019 AND value = 0
我想让它评估2019年3月31日和价值!=0作为一个子句,然后使用或使其对另一个子句求值

这在单个查询中是否可能

谢谢


Chris

一个SQL查询只有一个
where
子句。这可以由
以及
的任意组合组成。你的条款可以写为:

WHERE date = '2019-03-31' AND value <> 0 OR
      date = '2019-06-30' AND value = 0

注意ISO标准日期格式的使用。这是大多数数据库的首选格式。

当然可以。只需对日期文本使用正确的语法。
其中(日期='2019-03-31'和值0)或(日期='2019-06-30'和值0)
应该可以工作。很难说清楚,因为您还没有发布示例数据、您希望从该数据中获得的结果,以及一个实际完整的查询来演示您正在尝试做什么。谢谢大家的帮助。我正在我的SQL server上写这篇文章。它一直在移动我的括号,这就是为什么我认为SQL不喜欢Ken White发布的内容!有趣。谢谢你的解释!我将不得不深入探讨这些条件的优先顺序。
WHERE (date = '2019-03-31' AND value <> 0) OR
      (date = '2019-06-30' AND value = 0)