El medio ANSI es usar COALESCE :
SELECT COALESCE(a2.date, a1.date) AS `date`
...
La sintaxis nativa de MySQL es IFNULL :
SELECT IFNULL(a2.date, a1.date) AS `date`
...
A diferencia de COALESCE, IFNULL no se puede transferir a otras bases de datos.
Otra sintaxis ANSI, la expresión CASE , es una opción:
SELECT CASE
WHEN a2.date IS NULL THEN a1.date
ELSE a2.date
END AS `date`
...
Requiere más dirección para funcionar correctamente, pero es más flexible si cambian los requisitos.