YAML
main:
select:
- field: ct.*
from:
alias: ct
fields:
- name: problem_id
type: bigint
- name: info_1
type: varchar(255)
- name: info_2
type: varchar(255)
- name: info_3
type: varchar(255)
crosstab:
- select:
- extra_infos.problem_id
- extra_infos.info_type
- extra_infos.info_value
from: extra_infos
- select:
- extra_infos.info_type
distinct: true
from: extra_infos
SQL
SELECT ct.* FROM crosstab('SELECT extra_infos.problem_id, extra_infos.info_type, extra_infos.info_value FROM "extra_infos"', 'SELECT DISTINCT extra_infos.info_type FROM "extra_infos"') AS ct("problem_id" bigint, "info_1" varchar(255), "info_2" varchar(255), "info_3" varchar(255))