Chcete-li se vyhnout nejasnostem ohledně toho, jak uniknout jednoduchým uvozovkám a obecně zjednodušit syntaxi, použijte dolar-citovat pro řetězec dotazu:
SELECT *
FROM crosstab($$
SELECT person_id, item_name, item_value
FROM t1
WHERE person_id = 1
AND item_name IN ('NAME', 'GENDER')
$$) AS virtual_table (person_id int, name varchar, gender varchar)
A měli byste přidat ORDER BY
na váš řetězec dotazu. Cituji manuál k modulu tablefunc
:
Další podrobnosti: