我有几份报告,每一份报告都包含几张表格。
假设 3 个表,tableA,tableB 和 tableC。我想使用以下 Oracle 函数来过滤还传递报告参数的结果集:
AND function(tableB.field1, tableB.field2, tableB.field3, {?report_parameter}) = 'S'
需要注意的事实:
- Oracle 函数只能用于 Crystal Reports 中的 SQL 表达式和/或 SQL 命令。
- SQL 表达式不能包含报告参数(因此,不是一个选项)。
- Crystal Reports 允许您将报表表替换为 SQL 命令,但不允许您将多个表替换为单个 SQL 命令。
- 我们不想重新构建所有报告。
- 我们不想将单个表替换为 SQL 命令,因为它会在较高级别影响性能,因为 Crystal 在执行报表时不会在单个查询上转换表和 SQL 命令。
- 此 Oracle 函数从其他表中选择数据,因此不能在报表自定义函数上重写。
- {?report_parameter} 是只有应用程序知道的信息。它在将报告导出给用户之前由应用程序填写。
我能做些什么来解决这个问题?