0

セット内で何かを検索するかどうかを決定するために、どこにブール変数を指定して Not In を使用しようとしています。例えば:

    Select
      BLAH
    FROM
      BLAH
    WHERE
      ...
      AND CASE WHEN @variable = 'false' THEN
           warningcode1 NOT IN (101,102,103)
4

3 に答える 3

2

これを試して

Select
      BLAH
    FROM
      BLAH
    WHERE
      ...
      AND (@variable <> 'false' OR warningcode1 NOT IN (101,102,103))
于 2013-01-11T21:37:58.503 に答える
2

使用するだけです:

AND (@variable <> 'false' OR  warningcode1 NOT IN (101,102,103))

したがって、warningcode1 は、変数 = 'false' の場合にのみ問題になり、それ以外の場合は無視されます。

于 2013-01-11T21:38:12.323 に答える
0

ifでこれを試してください

AND IF( @variable = 'false' , warningcode1 NOT IN (101,102,103) , warningcode1 IN (101,102,103) )
于 2013-01-11T21:42:55.883 に答える