Не используйте цикл, используйте вместо этого соединение.Например, скажем, вы хотите узнать количество компаний в «финансовом» секторе, но вы записываете только подсектор для компании - попробуйте следующее:
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
Если сектор и подсектор заполнены всегда, то ввод% по каждому из параметров вернет все компании;ввод финансовых показателей по сектору и% по подсекторам вернут все компании финансового сектора;и т. д.