【发布时间】:2014-05-29 17:35:25
【问题描述】:
我在 T-SQL 脚本中有一个大的 SELECT INTO 语句,目前我在 WHERE 子句中有两个单独的 SELECT INTO 仅相差一个 OR 条件。如果我的变量@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 )
如果@cycle_nbr = 1,我只想要最后一个条件OR (a.prem_sys_cd='T' AND acctg_cyc_ym = @acctg_cyc )。我可以在某个地方放一个IF 来完成这项工作吗?还是我必须坚持使用IF(@cycle_nbr = 1) run this select ELSE run the other select?
【问题讨论】:
标签: sql-server tsql conditional-statements where clause