条件WHERE子句组合两个查询

时间:2014-05-29 17:35:25

标签: sql-server tsql conditional-statements where clause

我在T-SQL脚本中有一个很大的SELECT INTO语句,目前我有两个单独的SELECT INTO仅在{{1}中有一个OR条件不同子句。如果我的变量WHERE我让它做了一个@cycle_nbr = 1,如果SELECT INTO我让它做另一个@cycle_nbr = 0

我想知道是否有办法在一个SELECT INTO中使用SELECT INTO条件中的@cylce_nbr条件执行此操作。

这是我的WHERE条款:

WHERE

如果WHERE ((a.gl_indicator = '0' OR a.gl_indicator = '1') AND (a.gl_ins_type = '1' OR a.gl_ins_type = '3' ) AND rel_file_nbr is NULL AND a.alpha_line NOT LIKE '%Z' AND mis_process_dt >= @start_dt and acctg_cyc_ym = @acctg_cyc) OR (a.prem_sys_cd='T' AND acctg_cyc_ym = @acctg_cyc ) ,我只想要最后一个条件OR (a.prem_sys_cd='T' AND acctg_cyc_ym = @acctg_cyc )。我可以在某处放置一个@cycle_nbr = 1来完成这项工作吗?或者我必须坚持使用IF

1 个答案:

答案 0 :(得分:1)

将您的变量包含在OR语句中,即

OR (a.prem_sys_cd='T' AND acctg_cyc_ym = @acctg_cyc AND @cycle_nbr = 1)