PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Aspas incorretas ao usar crosstab() no PostgreSQL


Para evitar qualquer confusão sobre como escapar de aspas simples e geralmente simplificar a sintaxe, use cotação de dólares para a string de consulta:
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)

E você deve adicionar ORDER BY para sua string de consulta. Cito o manual do módulo tablefunc :

Mais detalhes: