mysql> SELECT * -> FROM `test1`; +----+-------+ | id | data | +----+-------+ | 1 | yes | | 2 | no | | 3 | maybe | +----+-------+ 3 rows in set (0.00 sec) mysql> SELECT * -> FROM `test2`; +-------+------------+ | fk_id | date | +-------+------------+ | 1 | 2007-04-02 | | 3 | 2007-04-05 | | 3 | 2006-01-21 | +-------+------------+ 3 rows in set (0.00 sec) mysql> SELECT * -> FROM `test1` -> LEFT JOIN `test2` ON -> WHERE MONTH( date ) +----+-------+-------+----- | id | data | fk_id | date +----+-------+-------+----- | 1 | yes | 1 | 2007 | 3 | maybe | 3 | 2007 +----+-------+-------+----- 2 rows in set (0.00 sec) Wanted : +----+-------+-------+----- | id | data | fk_id | date +----+-------+-------+----- | 1 | yes | 1 | 2007 | 2 | no | null | null | 3 | maybe | 3 | 2007 +----+-------+-------+-----