Sql聚合存储过程的结果

时间:2009-02-27 18:33:52

标签: sql stored-procedures aggregate

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

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

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

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:5)

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