为每个返回的记录运行SQL函数
我有一个sql函数,它计算一些数字并为每次运行返回1到4条记录,该函数获取clientID(int) 我有一个选择所有客户机的查询。我希望在每个客户机上运行函数并返回其值。诸如此类:为每个返回的记录运行SQL函数,sql,sql-server,stored-procedures,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
ClientID | FunctionReturnValue
1 1.1
1 2.1
1 1.9
1 1.3
2 1.9
3 1.3
有什么想法吗?您只需使用
选择中的函数即可:
例如,如果您有一个标量函数
select
ClientId,
dbo.YourFunction(ClientId) as FunctionReturnValue
from YourTable
如果有表值函数,请尝试以下操作:
select
ClientId,
FunctionReturnValue
from YourTable
cross apply dbo.YourFunction(YourTable.ClientId)
您只需使用选择中的函数即可:
例如,如果您有一个标量函数
select
ClientId,
dbo.YourFunction(ClientId) as FunctionReturnValue
from YourTable
如果有表值函数,请尝试以下操作:
select
ClientId,
FunctionReturnValue
from YourTable
cross apply dbo.YourFunction(YourTable.ClientId)
您假设的是一个标量UDF,从描述来看似乎不太可能。标量UDF返回单个值,而不是1到4条记录
您假设的是标量UDF,从描述来看,这似乎不太可能。当您说“函数”时,标量UDF返回单个值,而不是1到4条记录。你是说表值函数?如果是这样的话,为什么要将其标记为“存储过程”?当您说“函数”时。你是说表值函数?如果是这样,为什么要将其标记为“存储过程”?