MySQLでの発見


select

  t1.column_a,

  t2.column_b

from

  table_a as t1

    left join table_b as t2 on (t1.hoge = t2.hoge and t2.make_date <= 'xxxx')

where

  t2.column_b is null


こんな感じで、left joinしたテーブルに対しての条件を、

更にwhere句で追加できるとは知らなかったです。

勝手にできないものだと思っていました。



この場合、t2.column_bがnullではないものは、left join on で指定してしまえばOKなのですが、

nullの場合、カラムの値がnullでなくても、make_dateの条件に合致しなければ、nullが

取得されるので、今までは取得結果をループで回してnull以外のデータをはじいてました。


これで、無駄なソースが減る場所がいくつかあったので、メモです。

コメント 停止中

%d人のブロガーが「いいね」をつけました。