我有一个查询,它将返回任意数量的结果集,所有结果集都具有相同的列 – 即一个用于Manager,然后一个每个员工都表示Manager负责.
在Mgmt Studio中运行sql工作正常 – 我的’master’和’details’表成功呈现.但是,如果我只是在SSRS报告向导中的数据集查询中输入相同的sql,则只会报告第一个结果集.
解决方法
可悲的是,从
2008 documentation:
…A result set from a relational database,which can result from running database commands,stored procedures,or user-defined functions. If multiple result sets are retrieved through a single query,only the first result set is processed,and all other result sets are ignored.
所以我担心你只能选择更复杂的选择.我建议:
>将所有结果集UNION ALLed返回到一个大型结果集中,并附加一列以指示结果的每个部分用于哪个经理/员工,或者
>创建“主”报告和附带的代码,为您报告的每个经理/员工显示子报告.子报表将使用存储过程的一个版本,一次为一个人呈现报表结果.
后者可能是更清洁的方法.