2013-04-25 3 views
-1

내가다른 SQL 쿼리에 전달되는 커서는 어떻게 작성합니까?

MasterID Date 
123  2012-10-15 00:00:00.000 
124  2012-12-03 00:00:00.000 
453  2012-01-07 00:00:00.000 

(output is having 1999 rows)

가 지금은 하나 개의 스칼라 값 기능이 출력을 전달해야 나에게 다음과 같은 결과를 제공 한 select 문을 제공해야이

MyCalculationFunction (@masterID,@date,@previousdate) 

같은 매개 변수를 내가 원하는 값을 MyCalculationFunction으로 전달하여 함수를 선택하고 각 값을 모두 확인할 수 있습니다. masterID

또한 매개 변수로 previousdate을 제공해야합니다.

그래서 사용할 수있는 커서를 만들도록 도와주세요. SQL 서버 2012 년

+1

, 당신은 선택의 함수를 호출합니다. 커서의 개념을 포기하십시오. – Jodrell

+0

알았어. 어떻게해야 내 작업을 수행 할 수 있습니까? 나는 SQL에 새로운 오전 – Neo

답변

2

:

SELECT myCalculationFunction 
       (
       masterId, 
       [date], 
       LAG([date]) OVER (ORDER BY [date]) 
       ) 
FROM mytable m 
ORDER BY 
     [date] 

이전 버전 : 당신이 함수에 결과 집합을 통과하지 않으

SELECT myCalculationFunction 
       (
       masterId, 
       [date], 
       (
       SELECT TOP 1 
         [date] 
       FROM mytable mi 
       WHERE mi.[date] < m.[date] 
       ORDER BY 
         mi.[date] DESC 
       ) 
       ) 
FROM mytable m 
ORDER BY 
     [date] 
+0

나는 곧 당신을 업데이 트됩니다 같은 노력하고 있어요 :) – Neo

관련 문제