为每个返回的记录运行SQL函数

时间:2013-09-09 09:37:19

标签: sql sql-server stored-procedures

我有一个sql函数,可以计算一些数字并为每次运行返回1到4条记录,该函数获取clientID(int)。

我有一个选择所有客户的查询。我想在每个客户端上运行该函数并返回其值。类似的东西:

ClientID | FunctionReturnValue
   1               1.1
   1               2.1
   1               1.9
   1               1.3
   2               1.9
   3               1.3

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您只需使用select中的功能:

例如,如果你有一个标量函数。

select
    ClientId,
    dbo.YourFunction(ClientId) as FunctionReturnValue
from YourTable

如果您有表值函数,请尝试:

select
    ClientId,
    FunctionReturnValue
from YourTable
cross apply dbo.YourFunction(YourTable.ClientId)