2014-06-21 2 views
0

직원 (EmpID), 요청 번호 (ReqNo), 날짜 요청 열기 (OpenDate) 및 프로세스의 다음 단계 (AssignDate)로 이동 된 날짜가 나열된보기가 있습니다. 내가 뭘하려고하는지 매일 대기열 크기의 평균을 얻을 수 있습니다. EmpID 001에 1/1/13에 20 건의 요청이 있고 1/2/13에 24 건이 있고 1/3/21에 21 일이면 3 일 동안의 평균은 21.66, 최대 22로 반올림되어야합니다. 다음보기가 있습니다.당일 현재 날짜 대기열

CREATE VIEW EmpReqs 
AS 
SELECT [EmpID], [OpenDate], [AssignDate], [ReqID] 
FROM [Metrics].[dbo].[Assignments] 
WHERE OpenDate BETWEEN '01/01/2013' AND '12/31/2013' AND 
[EmpID] IS NOT NULL AND 
[ReqNo] NOT LIKE 'M%' 

그때 나는 하루에 개별 직원의 큐를 끌어 쿼리를 썼다 : 아무도 전에이 정보를 끌어 시도하지 않았다

/* First attempt to generate daily queue #s */ 
SELECT * FROM BLReqs 
WHERE [BusLiaison] LIKE 'PN' AND 
[OpenDate] <= '11/15/2013' AND 
[AssignDate] > '11/15/2013' 

때문에, 나는 위가 얼마나 정확한지 확인할 방법이 없습니다. 비교하기 위해 데이터베이스에있는 코드를 볼 수 있기 때문에 현재 날짜를 사용했지만 코드가 작동하지 않습니다. 날짜를 2014로 변경하고 쿼리를 실행할 때 아무 것도 반환되지 않습니다.

하루의 대기열을 수동으로 계산하지 않고 코드가 정확한지 확인하는 가장 쉬운 방법은 무엇입니까?

누구든지 위의 스크립트와 관련된 문제를 볼 수 있습니까?

위의 코드를 현재 날짜와 함께 사용할 수있는 방법이 있습니까?

답변

0

이 질문은 광범위하고 일종의 정보이기 때문에 대답하기가 정말 어렵습니다. 어쨌든 시도하겠습니다.

아무도이 정보를 가져 오지 않으므로, 위의 정확도를 확인할 방법이 없습니다.

몇 가지 샘플링 된 날짜에 대해이 쿼리의 결과를 확인하십시오.

은 내가 비교 우리의 데이터베이스에있는 사람들을 볼 수 있지만 코드는 내가 2014 년 날짜를 변경하면 아무 것도 반환되지 않으며, 일을하고 내 쿼리를 실행하지 않기 때문에, 현재 날짜를 사용했습니다.

분명히 질문은 이 아니고입니다. 아마 그 이유를 알아 내야 할 것입니다. 결과를 반환해야하지만 알 수없는 날짜에 대한 쿼리를 실행합니다. 조건을 하나씩 삭제하여 어느 행이 모든 행을 잘못 제거하는지 확인하십시오. 이것은 버그를 식별하기에 충분해야합니다.

누구든지 위 스크립트를 사용하여 문제를 볼 수 있습니까?

아니요. 괜찮습니다. 매우 간단한 쿼리. 그래서 나는 정보가 너무 적다고 말했다. 정보가 누락되면 버그를 찾을 수 있습니다.

위의 코드를 현재 날짜와 함께 사용할 수있는 방법이 있습니까?

코드를 쳐다보고 계시를 기다리십시오. 그것을 디버그하십시오. 실험.

+0

문제는 내가 코드를 너무 오래 꼼짝 않고 바라보고 매우 좌절하고 있다는 것입니다. 나는 휴식을 취했고, 나는 오늘 다시 그것을 칠 예정이다. – MKowalski