Единственный способ выполнить то, что вы ищете, это использовать динамический SQL. Вы должны собрать строку оператора SQL в коде, запросив имена столбцов и отправить ее в базу данных. Результирующий оператор SQL, который вы создаете, может выглядеть примерно так:
Select FFE.form_entry_id
, Min( Case When FF.name = 'Foo' Then FFE.value End ) As `Foo`
, Min( Case When FF.name = 'Bar' Then FFE.value End ) As `Bar`
, ...
From FormFieldEntry As FFE
Join FormField As FF
On FF.id = FFE.form_field_id
Group By FFE.form_entry_id