SELECT * FROM `a` LEFT JOIN `dates` ON `a.date_id`=`dates.id` AND `dates.date`>'19-09-2013'
上記のクエリは取得します#1054 - Unknown column 'a.date_id' in 'on clause'
テーブルまたは列の名前をエスケープする場合は、個別に行う必要があります
SELECT * FROM a
LEFT JOIN `dates` ON a.date_id = `dates`.`id` AND `dates`.`date` > '19-09-2013'
使用する
`dates`.`id`
それ以外の
`dates.id`
しかし、実際には MySQL の予約語をエスケープするだけで済みます。