具有多个Where子句的SQL Server查询

时间:2013-08-22 13:06:27

标签: sql sql-server where

我希望你能提供帮助。我正在尝试编写一个SQL查询,其中需要2个条件。这就是我想出来但却出错:

SELECT *
FROM Table
WHERE (Datediff(dd,TimeStampUTC,dateadd(dd,-1,getdate())))
AND (MeterTagId Between 416 AND 462)

基本上我有一个表,每15分钟收集一系列标签的数据。我要做的是返回一系列标签的“Previous Days”数据。

由于我的SQL知识仍然非常有限,因此您可以提供的任何帮助都将非常受欢迎。

提前致谢。

2 个答案:

答案 0 :(得分:3)

这里没有条件:

WHERE (Datediff(dd,TimeStampUTC,dateadd(dd,-1,getdate())))

您需要添加=或< =或> =或<或者>或提供真假的

之间

这似乎没问题:

AND (MeterTagId Between 416 AND 462)

请发布您的错误。

答案 1 :(得分:1)

如果您想在TimeStampUTC上使用索引,那么您应该尝试在该列上没有任何函数的情况下执行此操作:

SELECT *
FROM Table
WHERE TimeStampUTC between cast(getdate() - 1 as date) and cast(getdate() as date) and
      MeterTagId Between 416 AND 462;