Я решил это. Тем не менее, я уверен, что есть более простой / чистый способ сделать это.
Я поместил значения параметров в качестве имен учетных записей. Коды счета были определены в запросе, а значение параметра было включено в AND. В основном воссоздаем все WHERE для каждого имени учетной записи, разделенного ИЛИ. Код ниже:
WHERE ( g.acct_cde = l.acct_cde ) and
( g.budget_officer = b.budget_officer ) and
( ( l.acct_comp1 = '01' ) ) AND
( b.budget_officer IN ('48564') ) AND
(@BudgetOfficer = 'AM')
OR
( g.acct_cde = l.acct_cde ) and
( g.budget_officer = b.budget_officer ) and
( ( l.acct_comp1 = '01' ) ) AND
( b.budget_officer IN
('3543', '3523', '06588', '58568', '48656','58544', '48648') ) AND
(@BudgetOfficer = 'Dean_AA')
OR
и так далее ...