Hola.
Lo único que veo posiblemente malo allí es el tipo de las columnas de
retorno.

Asumiendo que "total" no es texto, tienes declaradas todas las columnas de
retorno como texto. "Ene", "Feb", ... deberían ser del mismo tipo que
"total".

Por otro lado sería bueno tener una muestra de tus datos de entrada y los
mensajes de error que te da si los hubiere.

Saludos,
Walter

On May 15, 2017 11:37, "Enrique Gushiken" <kgushi...@gmail.com> wrote:

> 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