Are these necessarily columns, or any expression, for example UPPER(my_column)? Could you just concatenate these Strings with comma separators to form the SELECT expressions and let the compile you do throw any exceptions for unresolved/ambiguous columns?