2011-07-05 95 views
0

我在SQL Server 2008中有一个存储过程,它由多重选择语句组成。在SSRS中构建报表时,我有一个使用该存储过程的数据集。但是,唯一显示的字段是第一个选择语句中的字段。有没有办法显示其他字段或在一个存储过程中使用多个select语句?存储过程和SSRS 2008

谢谢!

回答

1

选择是否输出相同的模式(即字段)?如果是这样,并且如果您需要所有结果,则可以尝试将单独的查询组合在一起。否则,为什么不把你需要的查询移动到一个新的存储过程中并从报告中调用?

+0

而且顺便说一句,如果你打出了将问题查询到新的proc中,但需要保留初始proc,您可以始终从旧proc中调用新的proc,而不是在两个地方使用该SQL块。 – pelazem

1

埃里克,这是我的经验,当SSRS是基于存储procdure,该最后 Select语句的结果被使用,而不是第一个。所以你应该可以做任何你想做的事情,直到存储过程中的最后一个Select语句,然后确保最后一个Select包含报告的正确数据/列。

1

从MSDN documentation

如果被检索 多个结果集通过一个单一的查询时,仅第一 结果集被处理,并且所有其它 结果集被忽略。例如, 当您运行 以下查询基于文本的查询设计,只为 Production.Product 结果集出现在结果窗格中:

SELECT ProductID FROM Production.Product 
GO 
SELECT ContactID FROM Person.Contact