Buenos días,
Estoy tratatando de realizar una consulta tipo referencia cruzada en
postgresql pero no logro obtener resultados. En access lo he logrado
realizar de la siguiente manera:

TRANSFORM Sum(total) AS Total
SELECT tema, archivo
FROM Descargas
GROUP BY tema, archivo
PIVOT mes;

en postgresql intento con lo siguiente:

SELECT * FROM crosstab(
  'SELECT archivo, mes, total FROM v_descargas order by 1, 2',
  'SELECT m FROM generate_series(1,12) m'
) AS report (
  archivo text, "Ene" text, "Feb" text, "Mar" text, "Abr" text, "May" text,
"Jun" text, "Jul" text, "Ago" text, "Sep" text, "Oct" text, "Nov" text,
"Dic" text
);

esto me devuelve la cantidad de filas y columnas exactas pero en valor me
sale nulo, no llega a contabilizar cuantas descargas por mes tiene un
archivo.

la idea es que me muestra un cuadro similar a esto:

NombreArchivo   Ene  Feb  Mar  Abr   May ....
===========  ===  === ===  ===  ===
Archivo 1             2      1      4      3      7
Archivo 2             5      9      8      4      6
Archivo 3             6      7      2      1      4

Responder a