Le moyen ANSI est d'utiliser COALESCE :
SELECT COALESCE(a2.date, a1.date) AS `date`
...
La syntaxe native MySQL est IFNULL :
SELECT IFNULL(a2.date, a1.date) AS `date`
...
Contrairement à COALESCE, IFNULL n'est pas portable vers d'autres bases de données.
Une autre syntaxe ANSI, l'expression CASE , est une option :
SELECT CASE
WHEN a2.date IS NULL THEN a1.date
ELSE a2.date
END AS `date`
...
Il nécessite plus de direction pour fonctionner correctement, mais est plus flexible si les exigences changent.