指定値を否定した条件で、NULLも含めた指定値以外を取得
指定値を否定した条件で、NULLも含めた指定値以外を取得できる方法はありますでしょうか。
使用DBはMYSQLです。
test_table
ID,name,value
-----------
1,aaa,100
2,bbb,NULL
3,ccc,300
4,ddd,100
5,eee,NULL
SELECT * FROM test_table WHERE value = 100;
valueが100のもの、ID:1,2を取得していたのですが、
100以外のものを取得する必要がでてきました。
SELECT * FROM test_table WHERE NOT(value = 100);
こうすると、ID:3しか返ってきません。
valueがNULLのものも含めて取得したいのです。
NULLの値があることを考慮すれば、以下のような形で取得はできるのですが、
SELECT * FROM test_table WHERE NOT(value = 100) AND value IS NULL;
value = 100という条件に、NOTをつけるかつけないかのような簡単な方法でNULLまで取得したいのです。
実はコーディング中に悩んでいるのですが、
動的ページなため、WHERE条件が定まらないのとかなりの数になります。
当初の予定では、全ての条件を()で囲んでNOTをつけるだけにするつもりでした。
これができないとなると、一つ一つ条件を見てNOTを付加+IS NULLの条件追加をしないといけなくなりそうです。
なにか良い方法がありましたらご教授願います。
お礼
たいへんおそくなりました。 そのようにいたしましたところ解決いたしました。