WHERE 子句提取错误值

问题描述 投票:0回答:1

我正在调用一个表并寻找空值。其中“report_date”正在寻找 TRUE,而另外两列正在寻找 FALSE,我似乎得到了夸大的数字,我相信这是我的 WHERE 子句之后的操作顺序。

SELECT DISTINCT
    "report_date",
    "department",
    "business_unit"
FROM
    "system"
WHERE 
    "report_date" IS TRUE
    AND
    "department" IS FALSE
    OR
"business_unit" IS FALSE;

我本来只是希望看到满足条件时列出的空值,但现在看来报告日期正在提取 FALSE 值。

sql where-clause
1个回答
0
投票

如评论中所述,不要“引用”列名称,但由于 where 子句具有 OR,也可能会得到不正确的值。 可能会尝试更多类似的东西

SELECT DISTINCT
      report_date,
      department,
      business_unit
   FROM
      system
   WHERE 
       report_date IS TRUE
    AND ( department IS FALSE
       OR business_unit IS FALSE )
© www.soinside.com 2019 - 2024. All rights reserved.