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 `test1`.id = `test2`.fk_id -> WHERE MONTH( date ) = '4'; +----+-------+-------+------------+ | id | data | fk_id | date | +----+-------+-------+------------+ | 1 | yes | 1 | 2007-04-02 | | 3 | maybe | 3 | 2007-04-05 | +----+-------+-------+------------+ 2 rows in set (0.00 sec) Wanted : +----+-------+-------+------------+ | id | data | fk_id | date | +----+-------+-------+------------+ | 1 | yes | 1 | 2007-04-02 | | 2 | no | null | null | | 3 | maybe | 3 | 2007-04-05 | +----+-------+-------+------------+