繁体   English   中英

如何编写传递给其他SQL查询的游标?

[英]How do I write cursor which is passed to other sql query?

我有一条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作为参数。

因此,请帮助我创建可以使用的任何游标。

在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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM