Baccho Log

No Image

Sponsored Link

[MySQL]JOINするTableで絞り込み

  • 投稿日:
Tags:
MySQL
Categories:
プログラミング

何がしたかったのか

Joinしたテーブルで絞り込みをして、Join先になかったものはNULL(OUTER JOIN)で抽出したい。

ANDでいけた

これ単純に私の頭が固かっただけなんですけど、
JOIN するときに AND で絞り込みすれば良かっただけでした。

SELECT
    `table1`.`t1_id`,
    `table2`.`t2_name`
FROM
    `table1`
LEFT OUTER JOIN `table2` ON `table2`.`t2_id` = `table1`.`t1_id` AND `table2`.`t2_name` = 'hogehoge'
  1. table1.t1_idtable2.t2_id が一致するか
  2. table2.t2_namehogehoge に一致するか

で絞り込みをして、一致しなければ table2.t2_name が NULL となります。
何故か JOIN では出来ないって思いこんでしまって、無駄にはまってしまったので戒めの備忘録。。。

CASE とかで何とかしてやろうと思っていた自分が恥ずかしい。。。

« [MySQL, Codeigniter]DBに絵文字が文字化けしないようにするLinuxのコマンドで画像ファイルのみをコピーする »

Sponsored Link

コメントする

記事の感想や修正依頼等ありましたら、コメントをお願いいたします