Creo entender que al definir el campo como, por ejemplo, "estado" text le
estoy diciendo que lo "convierta" a text, de hecho, el count creo que
devuelve numeric... cierto?

Sin embargo, probando, porque en efecto los 2 primeros campos son varchar:

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" varchar, "renglon" varchar, "cantidad" numeric);
ERROR:  return and sql tuple descriptions are incompatible

La  versión es 8.3

2010/7/2 Alvaro Herrera <alvhe...@commandprompt.com>

> Excerpts from Cesar A's message of jue jul 01 12:39:07 -0400 2010:
>
> > SELECT est_002, agri02_002, count(*) FROM consulta_agri04 GROUP BY
> > agri02_002, est_002 ORDER BY est_002, agri02_002; est_002  |
>
> > 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.
>
> Hmm, ¿no será que los tipos de la tabla son varchar en vez de text?  No
> tengo mucha experiencia con crosstab pero eso suena plausible.
>
> ¿Qué versión de Postgres estás usando?
>



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