【问题标题】:How can I get an SQL query to display only entries for the last week?如何获取 SQL 查询以仅显示上周的条目?
【发布时间】:2013-08-05 14:21:27
【问题描述】:

我基本上是在尝试生成一份报告,其中显示了我们本周所有发票的过滤列表。 (此报告将在星期三完成,因此自上个星期三以来的所有发票)

这是我的 WHERE 语句的代码:

其中 e.TotalCount = 1 或 e.LastThreeMonths = 1
AND OINV.[TaxDate] >= (GETDATE() - 7)

第一部分 (e.TotalCount....) 一切正常且适合,但即使使用第二个过滤器,查询仍会返回所有结果,无论日期如何。

我是个彻头彻尾的白痴还是应该按预期工作..?

【问题讨论】:

    标签: sql date where getdate


    【解决方案1】:

    添加括号将第二个条件与第三个条件分开:

    WHERE (e.TotalCount = 1 OR e.LastThreeMonths = 1)
         AND OINV.[TaxDate] >= (GETDATE() - 7)
    

    AND 优先于 OR,因此您的标准并未将日期要求应用于所有行,仅适用于具有 e.LastThreeMonths = 1 的行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      • 2014-03-26
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 2013-01-26
      相关资源
      最近更新 更多