Aby uniknąć nieporozumień dotyczących unikania pojedynczych cudzysłowów i ogólnie uprościć składnię, użyj dolar-cytat dla ciągu zapytania:
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)
I powinieneś dodać ORDER BY
do ciągu zapytania. Cytuję instrukcję modułu tablefunc
:
Więcej szczegółów: