2013-08-22 2 views
1

도움을 받으시기 바랍니다. 조건이 2 인 SQL 쿼리를 작성하려고합니다. 이것은 내가하지만 점점 오류와 함께 왔어요 것입니다 : 여러 위치 절이있는 SQL Server 쿼리

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

은 기본적으로 내가 태그의 범위를 15 분 간격으로 수집 된 데이터가있는 테이블이 있습니다. 내가하려는 것은 태그 범위에 대한 "이전 날짜"데이터를 반환하는 것입니다.

내 SQL 지식이 여전히 매우 제한되어 있으므로 도움을 주시면 대단히 감사하겠습니다.

미리 감사드립니다.

+0

@jyparask ... 이미 내 댓글을 제거 - 나는 errornuously MySQL의 가정 - 얻지 못한 't은 제대로 찾고 ;-) ... 그리고 포스트에 sqlserver 태그를 추가했습니다! – cars10m

답변

3

당신은 여기에 조건이 없습니다 :

WHERE (Datediff(dd,TimeStampUTC,dateadd(dd,-1,getdate()))) 
당신이를 추가 할 필요가

= 또는 < = 또는> = 또는 < 또는> 또는 간 또는 제공 할 것입니다 뭔가 참 또는 거짓

이를 좋아 보인다 :

AND (MeterTagId Between 416 AND 462) 

또한 오류를 게시하십시오.

1

TimeStampUTC에 인덱스를 사용하려는 경우, 해당 컬럼에 어떤 기능이 작업을 수행하려고한다 :

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

고든 리노프 감사합니다. 모든 사람들의 반응에 진심으로 감사드립니다. – user2547340