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


Y las demás columnas, correspondientes a cada renglón...

El 1 de julio de 2010 12:32, Diego Ayala <netdieg...@gmail.com> escribió:

> Entiendo, podrias probar sin ponerle las comillas doblesa la definiciones
> de los parametros
>
>
> AS lista(estado  text, renglon text, cantidad text);
>
> El 1 de julio de 2010 12:49, Cesar A <cesar.carbon...@gmail.com> escribió:
>
> Hola Diego.
>>
>> Nop, lo uno, ni lo otro:
>>
>> SELECT * FROM public.crosstab('SELECT est_002, agri02_002, count(*)::text
>> FROM consulta_agri04 GROUP BY agri02_002, est_002 ORDER BY est_002,
>> agri02_002') AS lista("estado" text, "renglon" text, "cantidad" text);
>> ERROR:  invalid return type
>> DETAIL:  SQL rowid datatype does not match return rowid datatype.
>>
>> SELECT * FROM public.crosstab('SELECT est_002, agri02_002, count(*) FROM
>> consulta_agri04 GROUP BY agri02_002, est_002 ORDER BY est_002, agri02_002')
>> AS lista("estado" text, "renglon" text, "cantidad" numeric);
>> ERROR:  invalid return type
>> DETAIL:  SQL rowid datatype does not match return rowid datatype.
>>
>>
>> Me da la impresión que tiene que ver con la cantidad de columnas devueltas
>> y las definidas, pero, justo lo que me interesa es "pivotear" la consulta
>> original, donde me quede la primera columna los estados, y el resto los
>> renglones
>>
>>
>> El 1 de julio de 2010 12:14, Diego Ayala <netdieg...@gmail.com> escribió:
>>
>> deberias castear el count(*), ya que en la ultima parte estas definiendo
>>> cantidad de tipo text, puedes hacer count(*)::text, y deberia de funcionar..
>>>
>>> El 1 de julio de 2010 12:39, Cesar A <cesar.carbon...@gmail.com>escribió:
>>>
>>> Saludos
>>>>
>>>> Disculpen ustedes, pero no doy pie con bola en una consulta a crosstab:
>>>>
>>>> Normalita:
>>>>
>>>> SELECT est_002, agri02_002, count(*) FROM consulta_agri04 GROUP BY
>>>> agri02_002, est_002 ORDER BY est_002, agri02_002; est_002  |
>>>> agri02_002       | count
>>>> ----------+------------------------+-------
>>>>  Mérida   | CACAO                  |    83
>>>>  Mérida   | CAFE                   |   169
>>>>  Mérida   | CAÑA                   |    68
>>>>  Mérida   | CEREALES Y LEGUMINOSAS |   421
>>>>  Mérida   | FRUTALES               |   746
>>>>  Mérida   | HORTALIZAS             |  1277
>>>>  Mérida   | ORNAMENTALES           |    41
>>>>  Mérida   | RAICES Y TUBERCULOS    |   484
>>>>  Táchira  | CACAO                  |    12
>>>>  Táchira  | CAFE                   |    29
>>>>  Táchira  | CAÑA                   |     1
>>>>  Táchira  | CEREALES Y LEGUMINOSAS |   310
>>>>  Táchira  | FRUTALES               |   209
>>>>  Táchira  | HORTALIZAS             |   451
>>>>  Táchira  | RAICES Y TUBERCULOS    |   222
>>>>  Trujillo | CAFE                   |    26
>>>>  Trujillo | CAÑA                   |    20
>>>>  Trujillo | CEREALES Y LEGUMINOSAS |    97
>>>>  Trujillo | FRUTALES               |   174
>>>>  Trujillo | HORTALIZAS             |   361
>>>>  Trujillo | RAICES Y TUBERCULOS    |   127
>>>> (21 filas)
>>>>
>>>>
>>>> Con crosstab:
>>>>
>>>> SELECT * FROM public.crosstab('SELECT est_002, agri02_002, count(*) FROM
>>>> consulta_agri04 GROUP BY agri02_002, est_002 ORDER BY est_002, agri02_002')
>>>> AS lista("estado" text, "renglon" text, "cantidad" text);
>>>> ERROR:  invalid return type
>>>> DETAIL:  SQL rowid datatype does not match return rowid datatype.
>>>>
>>>>
>>>> Creo que tengo dudas conceptuales... Cómo es la cosa?
>>>>
>>>> Gracias
>>>>
>>>> --
>>>> --
>>>> 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
>>>
>>
>>
>>
>> --
>> --
>> 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
>



-- 
--
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

Responder a