Re: funcion crosstab

From: Maria Antonieta Ramirez <maramirez(at)ulsaneza(dot)edu(dot)mx>
To: FORO POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: funcion crosstab
Date: 2017-09-11 23:14:45
Message-ID: CY4PR1801MB192773C7BFBFBF04981CBBB3F6680@CY4PR1801MB1927.namprd18.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola, les comparto que ya quedo mi consulta. la realize de la siguiente manera:

SELECT *

FROM crosstab(

'select descripcion ::text, descripcion ::text, claveservicio ::text

from educaciondistancia.bancos

group by descripcion,claveservicio

order by descripcion')

AS bancos(banco text, claveservicio1 text, claveservicio2 text, claveservicio3 text,claveservicio4 text,claveservicio5 text,claveservicio6 text, claveservicio7 text);

Gracias a todos!

________________________________
De: Maria Antonieta Ramirez
Enviado: lunes, 11 de septiembre de 2017 13:07:49
Para: FORO POSTGRES
Asunto: Re: funcion crosstab

Hola ya instale el modulo adicional tablefunc como me indicaste.

Haciendo mi consulta tengo un error al parecer con el tipo de dato que devuelvo, en mi caso mi tabla contiene sus campos de tipo character varyng. y me manda error en la devolucion del tipo de datos:

mi tabla esta asi:

CREATE TABLE educaciondistancia.bancos
(
claveservicio character varying(10) NOT NULL,
descripcion character varying(100) NOT NULL,
CONSTRAINT pk_banco PRIMARY KEY (claveservicio)
)
WITH (
OIDS=FALSE
);

mis datos son estos:
"1";"HSBC"
"2";"HSBC"
"3";"HSBC"
"4";"BANAMEX"
"8909";"BANAMEX"

ejecuto el siguiente query:

select *
FROM crosstab(
'select descripcion, descripcion, claveservicio
from educaciondistancia.bancos
where descripcion = ''HSBC''
order by 1')
AS ct(banco character, category_1 character, category_2 character, category_3 character);

y en el ultimo renglón tengo error, ya que me dice lo siguiente:

ERROR: invalid return type
DETAIL: SQL rowid datatype does not match return rowid datatype.
********* Error *********

ERROR: invalid return type
SQL state: 42601
Detail: SQL rowid datatype does not match return rowid datatype.

ojala me puedan ayudar...
De ante mano les agradezco su tiempo tomado.

________________________________
De: Francisco Olarte <folarte(at)peoplecall(dot)com>
Enviado: lunes, 11 de septiembre de 2017 10:58:20
Para: Maria Antonieta Ramirez
Cc: FORO POSTGRES
Asunto: Re: funcion crosstab

Buenos dias:

2017-09-11 17:38 GMT+02:00 Maria Antonieta Ramirez <maramirez(at)ulsaneza(dot)edu(dot)mx>:
> ERROR: function crosstab(unknown) does not exist
> LINE 2: FROM crosstab(
> ^
> HINT: No function matches the given name and argument types. You might need
> to add explicit type casts.
>
> ********** Error **********
>
> ERROR: function crosstab(unknown) does not exist
> SQL state: 42883
> Hint: No function matches the given name and argument types. You might need
> to add explicit type casts.
> Character: 15
> ¿Porque si lo hice tal cual viene en la documentacion?

crosstab viene en el modulo adicional tablefunc, ¿ has instalado el
modulo como viene en la documentacion (
https://www.postgresql.org/docs/9.4/static/contrib.html ) ?, porque
tiene toda la pinta de ser eso.

Francisco Olarte.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message heriberto giron 2017-09-12 14:21:05 IMPEDIR ACCESO A IP
Previous Message Maria Antonieta Ramirez 2017-09-11 18:07:49 Re: funcion crosstab