No hay PIVOT, por desgracia esa función tan útil no existe, pero se puede utilizar artificios para obtener un resultado parecido.
CREATE EXTENSION IF NOT EXISTS tablefunc; CREATE TABLE tbl ( section text , status text , ct integer -- "count" is a reserved word in standard SQL ); INSERT INTO tbl VALUES ('A', 'Active', 1), ('A', 'Inactive', 2), ('B', 'Active', 4), ('B', 'Inactive', 5), ('C', 'Inactive', 7); -- ('C', 'Active') is missing SELECT * FROM crosstab( 'SELECT section, status, ct FROM tbl ORDER BY 1,2' -- needs to be "ORDER BY 1,2" here ) AS ct ("Section" text, "Active" int, "Inactive" int);