Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为每个返回的记录运行SQL函数_Sql_Sql Server_Stored Procedures - Fatal编程技术网

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

为每个返回的记录运行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

我有一个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

有什么想法吗?

您只需使用
选择中的函数即可:

例如,如果您有一个标量函数

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条记录。你是说表值函数?如果是这样的话,为什么要将其标记为“存储过程”?当您说“函数”时。你是说表值函数?如果是这样,为什么要将其标记为“存储过程”?