0

我必须编写一个具有动态 where 子句的查询。如果用户发送参数“P”,我有一个列,那么如果应该是“N”,gap_value我需要获取其他信息。gap_value>0gap_value<0

SELECT   a.region_cd, a.plant_cd, a.wk_nbr
    FROM or_doh_plant_matrl_sm_t a
   WHERE a.wk_nbr IN (201322, 201323)
     AND a.plant_cd = '1115'
     AND a.gap_value >0

不使用动态 SQL。可以用inWHERE子句吗?

4

1 回答 1

1

尝试这个:

SELECT   a.region_cd, a.plant_cd, a.wk_nbr
    FROM or_doh_plant_matrl_sm_t a
   WHERE a.wk_nbr IN (201322, 201323)
     AND a.plant_cd = '1115'
     AND
     (
         (param = 'P' AND a.gap_value >0)
     OR  (param = 'N' AND a.gap_value <0)
     )
于 2013-08-06T04:51:45.923 回答