みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テーブルの結合時に空のカラムに『NULL』を入れない方法について

宜しくお願いします。
MySQLでleft joinでテーブルの結合を行った際に、表示に必要なカラムのみを定義した場合に、空のカラムに『NULL』が入ってしまい、絞込みで検索時にこの『NULL』が邪魔になり、きちんと検索できません。left joinでテーブルを結合する場合に空のカラムに『NULL』が入らない様にする方法はありますか?

クエリ文
select a.column1,b.column2 from a left join b on a.column3 = b.column3 where column2 like '%%';

上記の様に検索した場合、likeで曖昧検索の上、検索内容を指定していないので、全データが検索されるかと思ったのですが、テーブルbのcolumn2が空のカラムは検索されず、HIT数が減ります。このwhereは必須で、どうしても入れなければならない状況なので、空のカラムも検索する方法があると助かります。
何卒、ご教授の程、宜しくお願いします。

投稿日時 - 2005-10-06 18:24:55

QNo.1696336

すぐに回答ほしいです

質問者が選んだベストアンサー

こんにちはnikuqさん。
MySQLの関数に IFNULLがありますので、それを使ってみてはどうでしょうか?
.. where IFNULL(column2,' ') like '%%';
もし、column2がNULLだったら、全角の空白が入ります。

投稿日時 - 2005-10-06 21:31:29

お礼

ありがとうございます!
IFNULLを使ってみたところ、ばっちり検索されました!
本当に助かりました!ありがとうございました!!

投稿日時 - 2005-10-07 10:37:47

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問