J'essaie de créer une fonction qui retrace une valeur.Renvoyer une ligne à partir d'une clause With
Dans ma fonction, j'ai ce script:
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
)
le retour est comme ceci:
http://img59.imageshack.us/img59/6733/tablei.gif
Maintenant, je veux revenir row 3
Coze il a une 1
dans la ligne RightsMUT
Comment est-ce que je pourrais faire ceci? J'ai essayé de le faire avec 2 With
mais oracle ne supporte pas encore 2.
cela ne fait rien revenir, mais je trouve un moyen comment faire ... et il était si simple:/ – domiSchenk
ok, si vous l'avez résolu soit mettre à jour la question pour afficher la réponse (vous pourriez obtenir des commentaires à ce sujet) ou postez-le comme la réponse à votre propre question. – Unreason