我目前有一个存储过程,它返回帐号和相关详细信息的列表。结果集可能包含同一帐号的多个条目。我还想获得一些汇总信息,例如特定结果集中包含多少个不同的帐户。有没有办法从我的存储过程结果中检索这样的视图,如
SELECT AccountNumber, Count(*)
FROM mystoredproc_sp
GROUP BY AccountNumber
如果它需要包含在另一个存储过程中,那很好,但我希望能够至少从第一个SP中已存在的逻辑中受益,而不会复制其大部分代码。
答案 0 :(得分:7)
DECLARE @tt TABLE (acc INTEGER)
INSERT INTO @tt EXECUTE mystoredproc_sp
SELECT acc, COUNT(*) FROM @tt GROUP BY acc
答案 1 :(得分:5)
您必须将查询移动到表值函数中,并从两个存储过程(旧的和新的)中调用它。这样,您只能在一个地方查询。无法从存储过程结果集中进行选择。