2014-05-15 5 views
0

날짜 (일), 위치 및 값이있는 SQL 테이블이 있습니다. 테이블은 날짜와 위치 순으로 정렬됩니다. 나는 9 개의 연속 된 날짜들 중에서 값이 모두 증가하는지 아닌지 알아 내고 싶다. (그래서 나는 결국 그것들의 차트에 표시 할 수있다.) 9 개의 값이 증가하는 경우 9 일째에 새 값으로 플래그를 지정합니다. 그것은 전체 기간 동안 롤링 9 일 것입니다. 또한 3 일 그룹에서 값의 2/3이 X 제한을 초과하는지 파악하려고합니다. (WECO 규칙, 기본적으로) 접근 방식에 대한 제안은 크게 감사하겠습니다! SQL Management Studio 및/또는 SSIS 또는 SSRS를 사용하고 있습니다. 감사!연속적으로 값이 증가하는지 확인하십시오.

+0

"SQL"은 데이터베이스 서버의 이름이 아닙니다. 어떤 데이터베이스 서버를 사용하고 있습니까? SQL Server? 어떤 버전입니까? –

+0

샘플 데이터를 게시하십시오. SQL Fiddle 또는 샘플 삽입을 사용하면 이러한 문제를 훨씬 쉽게 해결할 수 있습니다. –

답변

0

- 테이블

CREATE TABLE [dbo].[Weco](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [aDate] [date] NULL, 
CONSTRAINT [PK_ID] PRIMARY KEY CLUSTERED 
(
    [ID] ASC 
) 
); 

만들기 - 데이터 삽입이 쿼리 --run

INSERT INTO [dbo].[Weco] 
VALUES 
('2012-01-01'), ('2012-01-02'), ('2012-01-03'), ('2012-01-04'); 

. 이것은 당신에게 약간의 아이디어를 줄 것입니다.

SELECT 
    W1.ID, W1.[aDate] , DATEDIFF (d,W1.aDate, W2.aDate) 
FROM [dbo].[Weco] W1 
--inner join 
LEFT OUTER JOIN 
(
    SELECT 
     W2.ID, 
     W2.[aDate] 
    FROM [dbo].[Weco] W2 
    WHERE W2.ID > (SELECT MIN (ID)FROM [dbo].[Weco]) 
) W2 on W1.ID = W2.ID - 1 
관련 문제