Wie Birgitta schon sagte, du kannst dies dynamisch zusammen bauen.
MyStr = 'select f1 as "M' + x + '" ...';
exec sql prepare
exec sql open

Allerdings stellt sich die Frage, wo du das Ergebnis verwenden willst.
Per Programm mittels Fetch musst du ja sowieso benannte Hostvariablen angeben und da sind die Spaltennamen vollkommen egal. Da zählt nur die Reihenfolge der Felder in der Into-Klausel.

Willst du die Daten extern zur Verfügung stellen (ODBC, CSV, ...) kannst du ebenso einen
"create table newtable as (select .....) with data"
generieren.