특정 개체에 수행 된 모든 작업에 대한 데이터가 포함 된 테이블이 있습니다. 다음과 같이 아래의 표는 무언가를 나타납니다Dense 행 기능을 사용하여 카운트 일 수
ActionId ProductName ProductPart ActionDate ActionStatusId
1 Bike abc123 3/24/2013 12:00:00 -4:00 7
2 Bike abc123 3/25/2013 12:00:00 -4:00 3
3 Bike abc123 3/25/2013 15:00:00 -4:00 1
4 Bike abc123 3/26/2013 16:00:00 -4:00 3
5 Bike abc123 3/26/2013 16:00:00 -4:00 3
6 Bike abc123 4/26/2013 15:00:00 -4:00 3
7 Bicycle def432 4/27/2013 12:00:00 -4:00 1
8 Bicycle def432 4/26/2013 12:00:00 -4:00 4
9 Bicycle def432 4/27/2013 12:00:00 -4:00 3
10 Bicycle def432 4/28/2013 12:00:00 -4:00 1
지금 내가 PRODUCTNAME, productpart을 얻을 필요가, laststatusid (가 3 인 경우에만 또는 1), [일 없음 이후 statusid = 3] 그래서 기본적으로
만약 마지막 actiondate에 따라 마지막 statusid가 3이나 1이 아니라면, 나는 row_number 함수를 사용하여 얻을 수있는 데이터가 필요하지 않습니다.
그러나 그 후 나는 마지막 actionstatusid 1.
하지만 난 그것을 달성에 문제가 = 만약 내가, 일을 계산 할 필요가 없습니다 = 3 statusid 경우 일 헤아 렸어요 계산해야하는 경우 때문에 마지막 statusid = 3 그렇다면 은 그 인스턴스가 아니라 그 인스턴스가 그 날짜까지 그 상태로 갔을 때의 수입니다.
그래서, PRODUCTNAME 자전거 위해 나는 결과 다음과 점점되어야한다 : 나는 ROW_NUMBER, DENSE_RANK 기능을 사용하고 있지만 그것을 달성 할 수 시도
ProductName ProductPart ActionStatusId [No. of Days Since Statusid = 3]
Bike abc123 3 34 (i.e. getdate() - 3/26/2013) as it went to statusid = 3 since 3/26/2013 and not taking just last actiondate
Bicycle dec432 1 -
. 그것을 성취 할 수있는 방법이 있습니까? 또한 , 나는이 당신을 위해 도움이 될 2012 년