0

在参数属性中,有没有办法用一个标签传递多个值?我有一个下拉框,其中包含 7 个选项,其中一些部门只有一个帐户代码,而其他部门则有多个。我试过 ('123', '321') 这将等同于所需的查询语法。我现在用于语法参数的代码是 (table.column IN (@parameter)) 应该以不同的方式编写吗?

感谢您的任何建议。

    FROM gl_master,   
     gl_master_comp_v,   
     budget_off_mstr  
    WHERE ( gl_master.acct_cde = gl_master_comp_v.acct_cde ) and  
     ( gl_master.budget_officer = budget_off_mstr.budget_officer ) and  
     ( ( gl_master_comp_v.acct_comp1 = '01' ) AND  
     ( budget_off_mstr.budget_officer in (@BudgetOfficer) ) ) 
4

1 回答 1

1

我解决了。但是,我确信有一种更简单/更清洁的方法来做到这一点。

我将参数值作为帐户名称。帐户代码在查询中定义,参数值包含在 AND 中。基本上为每个帐户名称重新创建所有 WHERE,并用 OR 分隔。下面的代码:

 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

等等...

于 2011-08-24T17:59:27.803 回答