Brug dollarnotering for forespørgselsstrengen:
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)
Og du bør tilføje ORDER BY
til din forespørgselsstreng. Jeg citerer manualen til tablefunc-modulet
:
Flere detaljer: