使用单个存储过程的所有行加上最小/最大值

时间:2010-02-23 15:48:25

标签: sql reporting-services

我有一个自定义数据源,可以从平面文件中提取数据。平面文件包含时间戳,源和数据。我可以使用sp_execute对平面文件执行select查询。

我目前正在使用2个存储过程。   - 从flat_file运行select *到临时表的一个   - 另一个通过源将flat_file分组选择最小值/最大值到另一个临时文件

我使用SSRS报告中使用存储过程检索的数据

是否可以在单个存储过程中从日期范围内的文件中检索所有行,并确定检索到的每个组的最小/最大值?e

2 个答案:

答案 0 :(得分:0)

是的,将所有逻辑合并到一个过程中并返回两个临时表的连接。你不提供任何代码,列名等,所以这是一个猜测:

CREATE PROCEDURE AllInOne
(
    @param1....

)

--populate temp table 1
...

--populate temp table 2
...

SELECT
    t1.*, t2.*
    FROM #Temp1            t1
        INNER JOIN #temp2  t2 ON t1.PK=t2.PK
    ORDER BY ....

go

答案 1 :(得分:0)

SSRS只能处理数据集中的一个结果集。

不使用临时表(如KM的答案),这是对数据库的2次调用。

但是,如果我读错了,那么2个结果集根本不同:min / max是过滤后第1个结果集上的操作,而不是原始数据。

因此,如果您使用Min并将Scope参数设置为分组

,则可以在SSRS中进行分组操作