ANSI означает использование COALESCE :
SELECT COALESCE(a2.date, a1.date) AS `date`
...
Собственный синтаксис MySQL: IFNULL :
SELECT IFNULL(a2.date, a1.date) AS `date`
...
В отличие от COALESCEIFNULL не переносится на другие базы данных.
Другой вариант синтаксиса ANSI, CASE выражение , является опцией:
SELECT CASE
WHEN a2.date IS NULL THEN a1.date
ELSE a2.date
END AS `date`
...
Для правильной работы требуется больше указаний,но более гибок при изменении требований.