Re: crosstab: ERROR: invalid return type

From: Cesar A <cesar(dot)carbonara(at)gmail(dot)com>
To: Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>
Cc: Diego Ayala <netdiego81(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: crosstab: ERROR: invalid return type
Date: 2010-07-02 15:06:23
Message-ID: AANLkTimnF60tweE4QGmuH4SC4EItvCppvjTNGTW2ioSL@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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> escribió:

>
>
> El 2 de julio de 2010 09:07, Cesar A <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
Debian... todo lo que siempre has querido

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-07-02 16:49:02 Re: crosstab: ERROR: invalid return type
Previous Message Julio Cesar Rodriguez Dominguez 2010-07-02 14:16:11 Re: crosstab: ERROR: invalid return type