Re: crosstab: ERROR: invalid return type

From: glana <glana(at)cestel(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: crosstab: ERROR: invalid return type
Date: 2010-07-08 08:21:43
Message-ID: 4C358A97.6010606@cestel.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos

A mi me pasa lo mismo, intento que el numero y nombre de las columnas
sea algo dinámico, pero no hay forma.
Alguien sabe como conseguirlo???
Vamos, lo que queremos, creo, es algo igual al PIVOT de access.

Saludos

El 02/07/10 17:06, Cesar A escribió:
> Claro, pero esos títulos pueden no ser siempre los mismos, o la misma
> cantidad... de ahí el cuento
>
> El 2 de julio de 2010 09:46, Julio Cesar Rodriguez Dominguez
> <jurasec(at)gmail(dot)com <mailto:jurasec(at)gmail(dot)com>> escribió:
>
>
>
> El 2 de julio de 2010 09:07, Cesar A <cesar(dot)carbonara(at)gmail(dot)com
> <mailto:cesar(dot)carbonara(at)gmail(dot)com>> escribió:
>
> Bueno... luego de revisar y hacer varias pruebas, algo me salió.
>
> Revisando el último ejemplo de la doc[0], hice mi prueba:
>
> SELECT * FROM public.crosstab
> (
> 'SELECT est_002, agri02_002, count(*)::numeric FROM
> consulta_agri04 GROUP BY agri02_002, est_002 ORDER BY
> est_002, agri02_002',
> 'SELECT DISTINCT agri02_002 FROM consulta_agri04 ORDER
> BY agri02_002'
> ) AS lista(estado text, renglon1 text, renglon2 text,
> renglon3 text, renglon4 text, renglon5 text, renglon6
> text, renglon7 text, renglon8 text);
>
> de la que obtuve:
>
> estado | renglon1 | renglon2 | renglon3 | renglon4 |
> renglon5 | renglon6 | renglon7 | renglon8
> ----------+----------+----------+----------+----------+----------+----------+----------+----------
> Mérida | 83 | 169 | 68 | 421 |
> 746 | 1277 | 41 | 484
> Táchira | 12 | 29 | 1 | 310 |
> 209 | 451 | | 222
> Trujillo | | 26 | 20 | 97 |
> 174 | 361 | | 127
> (3 filas)
>
> Según en el ejemplo, la definición de las columnas ya se
> conoce, pero y sí quisiéramos que los títulos de las columnas
> fueran parte de la bondad del crosstab? ya ven que mi:
>
> SELECT DISTINCT agri02_002 FROM consulta_agri04 ORDER BY
> agri02_002;
> agri02_002
> ------------------------
> CACAO
> CAFE
> CAÑA
> CEREALES Y LEGUMINOSAS
> FRUTALES
> HORTALIZAS
> ORNAMENTALES
> RAICES Y TUBERCULOS
> (8 filas)
>
>
>
> Solo que definas las columnas con los títulos de los valores que
> devuelve la consulta de arriba.
>
> SELECT * FROM public.crosstab
> (
> 'SELECT est_002, agri02_002, count(*)::numeric FROM
> consulta_agri04 GROUP BY agri02_002, est_002 ORDER BY est_002,
> agri02_002',
> 'SELECT DISTINCT agri02_002 FROM consulta_agri04 ORDER BY
> agri02_002'
> ) AS lista(estado text, cacao text, cafe text, "caña" text,
> "cereales y leguminosas" text, frutales text, hortalizas text,
> ornamentales text, "raices y tuberculos" text);
>
>
>
>
> --
> --
> Sí no eres parte de la solución... eres parte del problema.
> Les Luthiers
> --
> Cesar A. Carbonara R.
> C.I. Nº V.11.952.572
> --
> Usuario Linux 377997
> www.gulmer.org.ve <http://www.gulmer.org.ve>
> Debian... todo lo que siempre has querido

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcelo Silva Robles 2010-07-08 14:03:39 Como configurar Textsearch2
Previous Message Miguel Angel Hernandez Moreno 2010-07-07 22:22:46 Re: cuantas inserserciones se hicieron en una tabla