我有一个使用动态参数的水晶报告,其中包含~8级可选标准:
Company,
Country,
Zone,
Division,
State,
Region,
Area,
City,
Center
我想要列出每个项目的级联列表,但也要将ALL作为每个项目的选项。我也希望能够让一些顶级水平为ALL,然后中间的水平可以选择,然后再次转到ALL。例如,我不想选择公司,国家,区域或部门,而是选择州和区域,然后让区域,城市和中心回到所有区域。
我的表有大约2000条记录,我最初的解决方案是在我做以下操作的地方构建它:
SELECT DISTINCT
Company,
Country,
Zone,
Division,
State,
Region,
Area,
City,
Center
FROM myTable
UNION ALL
SELECT
Company = 'All',
Country = 'All',
Zone = 'All',
Division = 'All',
State = 'All',
Region = 'All',
Area = 'All',
City = 'All',
Center = 'All'
UNION ALL
SELECT DISTINCT
Company = 'All',
Country,
Zone = 'All',
Division = 'All',
State = 'All',
Region = 'All',
Area = 'All',
City = 'All',
Center = 'All'
FROM myTable
使用我能想到的每一种组合。这不仅看起来令人沮丧,而且还会导致返回大量数据,似乎可能会错过任何内容。
我主要关注的是除了未从更高级别选择的内容过滤之外,还可以为所有选项选择全部。
如果没有40-50 UNION ALL语句来解释我需要的一切,有没有办法做到这一点?
感谢您的帮助。