【发布时间】:2019-12-05 17:18:40
【问题描述】:
我已经在互联网上搜索了选项,我发现唯一可以做到这一点的是使用 $Proc,但我试图避免这种情况。
我认为根据用户从下拉列表中选择的内容,使用参数选择不同的表会非常简单。
这里是: - 报告需要使用两个表格, * some_table_CY(当年表) * some_table_STLY(去年同一时间的表)
所以我创建了一个参数,让用户可以选择“Current_Year”或“Last_Year”,具体取决于用户选择的参数,然后将在 select 语句中使用该参数,如下所示:"SELECT * FROM :pReportVersion"
但是,它不起作用。我需要它来执行此操作,而不是使用联合,因为联合这两个表会导致巨大的性能问题,并且查询需要超过 4 小时才能运行,这对于用户根据请求需要的报告是不可接受的。
(这是查询oracle)
【问题讨论】:
-
听起来可能需要动态 SQL,但我不是这方面的专家。您可能必须将
some_table_CY或some_table_STLY之类的内容传递给查询并构建您的选择比如DECLARE @sql VARCHAR(MAX) = 'SELECT * FROM ' + @TableChoiceParameter,然后是EXEC @sql。 Documentation
标签: sql oracle reporting-services