From: | Cesar A <cesar(dot)carbonara(at)gmail(dot)com> |
---|---|
To: | Diego Ayala <netdiego81(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: crosstab: ERROR: invalid return type |
Date: | 2010-07-02 14:07:39 |
Message-ID: | AANLkTin9sneL2pmmWAECPDwy2ltu8vrrA0Lur8p_aAjp@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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)
me devuelve los que podrían ser los títulos de las columnas. De ésta manera,
quedaría acomodar en alguna función para que se así...
Por ahora, está resuelto el problema... ahora, a trabajar una función para
mejorar la cosa. Gracias!
[0]http://www.postgresql.org/docs/8.3/interactive/tablefunc.html
El 2 de julio de 2010 07:03, Diego Ayala <netdiego81(at)gmail(dot)com> escribió:
> Cesar, te paso un ejemplo mio, que funciona perfectamente.. podrias hacer
> algo parecido...
> Espero te sirva...
>
> El 2 de julio de 2010 07:29, Diego Ayala <netdiego81(at)gmail(dot)com> escribió:
>
>
>>
>> El 1 de julio de 2010 23:34, Cesar A <cesar(dot)carbonara(at)gmail(dot)com>escribió:
>>
>> así da un error de sintaxis
>>>
>>> El 2 de julio de 2010 13:26, Gilberto Castillo Martínez <
>>> gilberto(dot)castillo(at)etecsa(dot)cu> escribió:
>>>
>>>>
>>>>
>>>> El jue, 01-07-2010 a las 13:04 -0430, Cesar A escribió:
>>>>
>>>> > No, nada.
>>>> >
>>>> >
>>>> > Por si hay dudas con el resultado deseado:
>>>> >
>>>> >
>>>> > est_002 |CACAO |CAFE |CAÑA
>>>> > Mérida |83 |169 |68
>>>> > Táchira |12 |29 |1
>>>> > Trujillo | |26 |20
>>>>
>>>> >
>>>> >
>>>> >
>>>> > AS lista(estado text, renglon text, cantidad text);
>>>>
>>>>
>>>> Disculpe, si me perdí algo y ya lo probaron .... si los resultados van a
>>>> ser convertidos en texto
>>>>
>>>>
>>>> AS lista(estado::text, renglon::text, cantidad::text);
>>>>
>>>> >
>>>> --
>>>> Saludos,
>>>>
>>>> Tip: El progreso es nuestra independencia tecnológica.
>>>>
>>>> “Trabajamos por una empresa mejor”
>>>>
>>>> _______________________________________________________
>>>>
>>>> Msc. Ing. Gilberto Castillo.
>>>> Presidencia. ETECSA.
>>>> Teléfono: 266-8558 Fax (537) 207-8931.
>>>> Edificio Beijing, 5to piso oficina 526. MTC.
>>>> Miramar, La Habana, Cuba.
>>>> _______________________________________________________
>>>>
>>>> ---
>>>> This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE
>>>> running at host imx2.etecsa.cu
>>>> Visit our web-site: <http://www.kaspersky.com>, <
>>>> http://www.viruslist.com>
>>>>
>>>>
>>>
>>>
>>> --
>>> --
>>> 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
>>>
>>
>>
>>
>> --
>> Diego Ayala
>>
>
>
>
> --
> Diego Ayala
>
--
--
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
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Ochoa Agüero | 2010-07-02 14:14:39 | acceso desde pgadmin |
Previous Message | Alejandro Ojeda Diaz | 2010-07-02 13:24:50 | Buenas prácticas de desarrollo pgsql |