SQLで以下のような抽出条件を書きたいのですが、お知恵を拝借ください。
- 変数値が'1'のときは、フラグが1ではないデータ
- '1'以外の場合は、フラグの条件は指定しないデータ
下記のようなCASE文での等号条件は調べて出てきたのですが、
特定の条件(変数値 = '1')の時にだけ、「~以外」(Table1.flg<>1)となるような
データの抽出方法は無いでしょうか?
SQL
1AND Table1.flg = CASE 変数値 = '1' THEN 1 ELSE Table1.flg END
実現したい雰囲気
SQL
1SELECT * 2FROM Table1 3WHERE Table1.hoge1 = xxx 4AND Table1.hoge2 = yyy 5AND CASE 変数値 = '1' THEN Table1.flg <> 1 ELSE Table1.flg = Table1.flg END
※変数の値は別の処理で渡されるため、実際のSQLは CASE '1' = '1' THEN のようになります
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。