0
첫 번째 레코드 (작은 샘플)는 TSQL 나는 다음과 같은 데이터와 SQL Server 2008의 테이블이
id Date Value
20448D6F-4099-408D-85FE-11EC6690CDB8 2010-06-01 1
20448D6F-4099-408D-85FE-11EC6690CDB8 2010-06-02 2
20448D6F-4099-408D-85FE-11EC6690CDB8 2010-06-03 3
20448D6F-4099-408D-85FE-11EC6690CDB8 2010-06-04 4
20448D6F-4099-408D-85FE-11EC6690CDB8 2010-06-05 NULL
EF595DE6-FF57-4625-8254-287F49843445 2010-06-02 2
EF595DE6-FF57-4625-8254-287F49843445 2010-06-03 3
EF595DE6-FF57-4625-8254-287F49843445 2010-06-04 4
EF595DE6-FF57-4625-8254-287F49843445 2010-06-05 NULL
C6F459EF-1493-4864-81C2-E5B55283EF0C 2010-06-04 45
C6F459EF-1493-4864-81C2-E5B55283EF0C 2010-06-05 NULL
내가 쿼리
id Date Value
20448D6F-4099-408D-85FE-11EC6690CDB8 2010-06-01 1
을 반환
select *
from [test].[dbo].[testtable]
where id in
(
select id
from [test].[dbo].[testtable]
where Date='2010-06-05' and Value is null
)
and Date = DATEADD(D, -4, '2010-06-05')
를 실행하고 반환
하지만 2010-06-01
에 대한 레코드가없는 경우 다음 최소 날짜를 반환하고 싶습니다.
그래서 샘플에서 볼 것이다 결과가 될 것
id Date Value
20448D6F-4099-408D-85FE-11EC6690CDB8 2010-06-01 1
EF595DE6-FF57-4625-8254-287F49843445 2010-06-02 2
C6F459EF-1493-4864-81C2-E5B55283EF0C 2010-06-04 45
나는이 T-SQL 쿼리에서이 작업을 수행 할 수있는 방법 기록의 수백만 있나요?
감사
작동하지 않습니다 THER도 EF595DE6-FF57-4625-8254-287F49843445 처럼 기록 할 수 있습니다 2010-05-05 444가 반환됩니다. – user2062675
@ user2062675 - 날짜가 6/1/2010 이상이어야하는 기준을 추가하십시오. – sgeddes
죄송합니다.이 질문에 답을 수정할 수 있습니까? – user2062675