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