1
값을 다시 실행하는 함수를 만들려고합니다.With 절에서 행 반환
WITH t_new AS
(
SELECT PersIDOLD, PersIDNEW, RightsMUT,
SUM(gap) over(ORDER BY PersIDOLD, PersIDNEW) grp
FROM
(
SELECT h1.*,
CASE
WHEN h1.PersIDNEW = lag(h1.PersIDNEW)
over(ORDER BY h1.PersIDOLD, h1.PersIDNEW)
OR h1.PersIDOLD = lag(h1.PersIDOLD)
over(ORDER BY h1.PersIDOLD, h1.PersIDNEW)
THEN 0
ELSE 1
END gap
FROM HelpTable1 h1
)
)
SELECT PERSIDNEW, RIGHTSMUT
FROM t_new
WHERE grp =
(
SELECT grp FROM t_new WHERE PersIDNEW = 12 -- going to be a variable
)
반환은 다음과 같이이다 :
http://img59.imageshack.us/img59/6733/tablei.gif
지금 나는 그것이 행에1
가
을 RightsMUT이
row 3
coze을 반환하려면 내 기능에서
나는이 스크립트가
어떻게하면됩니까? 으로 시도했지만 oracle이 아직 2를 지원하지 않습니다.
이 아무 것도 반환하지 않습니다하지만 난 발견을 수행하는 방법 방법 ... 그것은 매우 간단합니다./ – domiSchenk
괜찮 았으면, 답을 표시하기 위해 질문을 업데이트하거나 (의견이있을 수도 있습니다) 자신의 질문에 답을 게시하십시오. – Unreason