-1

我有一个select声明,它给了我以下结果

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)

现在我需要将此输出传递给一个标量值函数,它给出了参数,例如

MyCalculationFunction (@masterID,@date,@previousdate)

我想将上述值传递给,MyCalculationFunction以便我只能选择函数并查看每个函数的所有值masterID

我还需要在previousdate那里提供参数。

所以请帮助我创建任何我可以使用的光标。

4

1 回答 1

2

在 SQL Server 2012 中:

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]
于 2013-04-25T16:31:13.173 回答