Supposons donc que vous en ayez quelques table avec au moins 26 enregistrements (peut-être information_schema.columns
peut-être ?).
Ce qui suit générera toutes les lettres alphabétiques majuscules :
SET @c := 64;
SELECT CAST(CHAR(@c := @c + 1) AS CHAR(1)) AS letter
FROM table_with_at_least_26_rows
LIMIT 26
;
Pour intégrer ce qui précède dans votre requête d'origine, mettez le SET @c := 64;
avant la requête, puis remplacez generate_series(0, 25) as chars(letter)
avec ( SELECT CAST ... LIMIT 26 ) chars
. Assurez-vous d'inclure les parenthèses car cela transformera la requête en sous-requête.
SQL Fiddle de la requête :http://sqlfiddle.com/#!9/6efac/8