生成SSRS报告而不对查询进行硬编码

时间:2010-08-23 06:44:19

标签: sql ssrs-2008

我刚刚开始使用SSRS 2008和SQL Server 2008.我正在尝试创建一个报告,其中涉及查询某些行业及其子行业(例如,某个行业将类似于“金融行业”及其子行业行业将“银行”,“转移”......等等。 但是,部门和子部门的变化有些迅速,我不知道如何在不对部门和子部门进行硬编码的情况下编制报告。我想做的是像for循环那样我可以先查询扇区,然后查询每个扇区,查询其子扇区。 有没有人知道怎么做?

1 个答案:

答案 0 :(得分:0)

不要使用循环,而是使用连接。例如,假设您想要查找“金融”行业中的公司数量,但您只记录针对公司的子行业 - 请尝试以下方法:

select count(*)
from dbo.company c, dbo.sector s
where c.subsector = s.subsector and s.sector = 'financial'

要将其扩展为报告,请尝试使用以下查询作为报告的基础:

select c.name company_name, s.subsector, s.sector
from dbo.company c, dbo.sector s
where c.subsector = s.subsector and 
s.sector like @sector and 
s.subsector like @subsector

如果始终填充扇区和子部门,则对每个参数输入%将返回所有公司;进入金融业反对部门和%反对子部门将返回金融部门的所有公司;等等。