Sponsored Link
[MySQL]JOINするTableで絞り込み
何がしたかったのか
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'
table1.t1_id
とtable2.t2_id
が一致するかtable2.t2_name
がhogehoge
に一致するか
で絞り込みをして、一致しなければ table2.t2_name
が NULL となります。
何故か JOIN では出来ないって思いこんでしまって、無駄にはまってしまったので戒めの備忘録。。。
CASE とかで何とかしてやろうと思っていた自分が恥ずかしい。。。