Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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_Stored Procedures_Aggregate - Fatal编程技术网

Sql聚合存储过程的结果

Sql聚合存储过程的结果,sql,stored-procedures,aggregate,Sql,Stored Procedures,Aggregate,我目前有一个存储过程,它返回帐号和相关详细信息的列表。结果集可能包含同一帐号的多个条目。我还想获得一些聚合信息,例如特定结果集中包含多少不同的帐户。是否有某种方法可以从存储过程结果中检索这样的视图,例如 SELECT AccountNumber, Count(*) FROM mystoredproc_sp GROUP BY AccountNumber 如果它需要包含在另一个存储过程中,则可以,但我希望至少能够从第一个SP中已经存在的逻辑中获益,而不必复制其大部分代码。您必须将查询移动到表值

我目前有一个存储过程,它返回帐号和相关详细信息的列表。结果集可能包含同一帐号的多个条目。我还想获得一些聚合信息,例如特定结果集中包含多少不同的帐户。是否有某种方法可以从存储过程结果中检索这样的视图,例如

SELECT AccountNumber, Count(*) 
FROM mystoredproc_sp 
GROUP BY AccountNumber

如果它需要包含在另一个存储过程中,则可以,但我希望至少能够从第一个SP中已经存在的逻辑中获益,而不必复制其大部分代码。

您必须将查询移动到表值函数中,并从旧存储过程和新存储过程调用它。这样,查询只在一个地方。无法从存储过程结果集中进行选择。

您必须将查询移动到表值函数中,并从旧存储过程和新存储过程调用它。这样,查询只在一个地方。无法从存储过程结果集中进行选择

DECLARE @tt TABLE (acc INTEGER)
INSERT INTO @tt EXECUTE mystoredproc_sp
SELECT acc, COUNT(*) FROM @tt GROUP BY acc