Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SELECT eine Spalte, wenn die andere null ist

Das ANSI-Mittel ist die Verwendung von COALESCE :

SELECT COALESCE(a2.date, a1.date) AS `date`
   ...

Die native MySQL-Syntax ist IFNULL :

SELECT IFNULL(a2.date, a1.date) AS `date`
   ...

Im Gegensatz zu COALESCE ist IFNULL nicht auf andere Datenbanken übertragbar.

Eine weitere ANSI-Syntax, der CASE-Ausdruck , ist eine Option:

SELECT CASE
         WHEN a2.date IS NULL THEN a1.date
         ELSE a2.date
       END AS `date`
   ...

Es erfordert mehr Anleitung, um richtig zu funktionieren, ist aber flexibler, wenn sich die Anforderungen ändern.