C'est un exemple classique pour un "simple" ou "commuté" CASE
déclaration pour éviter la répétition de code.
SELECT CASE greatest(denver, seattle, new_york, dallas, "san fran")
WHEN denver THEN 'denver'
WHEN seattle THEN 'seattle'
WHEN new_york THEN 'new_york'
WHEN dallas THEN 'dallas'
WHEN "san fran" THEN 'san fran'
END AS city, *
FROM tbl;
Le premier de la liste (de gauche à droite) gagne en cas d'égalité.