【发布时间】:2013-08-02 22:03:28
【问题描述】:
我已经构建了一个 SSRS 报告,该报告应该查看来自多个具有相似名称的表之一的数据 - 即 table001、table010、table011 等。在构建报告时,我只包括了三个十多张桌子。一切正常,直到我将所有其余表添加到查询中,同时使用多个 SELECT 语句 UNIONed;它试图对如此多的数据进行分类,以至于需要将近半个小时来呈现报告。那是行不通的。
有没有办法将 SSRS 参数传递给 SQL 查询,指定要访问的表?
【问题讨论】:
-
如果查询慢,报告就会慢。问题不在于将参数从 SSRS 传递到数据库,而在于您的查询。您需要了解如何解决将 12 个表合并在一起的问题,您的报告问题将自行解决
-
@Tom - 这就是为什么我试图弄清楚如何使用该变量作为表名。如果我能做到这一点,我可以只查询一个表而不是所有表 - 只需将报告参数传递给变量,它就会根据它进行查询。我只是不知道该怎么做。
-
对不起,我现在明白了,我没有先理解这个问题。那么,基于某些参数,您将从某个表中进行选择吗?例如,@Param = 'Something' 然后从 table008 中选择?您可以在查询中的
if/else或case语句中定义它。 -
@Tom - 是的,类似的。如果你能扩展一点,那就太好了。我对 SQL 还是很陌生。很可能会有一个参数,其值为字符串'001'。我尝试过像
FROM @Param这样的事情,但后来它抱怨静态变量。
标签: sql tsql reporting-services bids ssrs-2008-r2