Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Crosstab generico

Estas en el tema de Crosstab generico en el foro de PostgreSQL en Foros del Web. Se tiene Tabla Original mercado moneda periodo valor factor demo peso 1 100 1 demo peso 2 120 1 demo peso 3 100 1 demo ...
  #1 (permalink)  
Antiguo 21/05/2008, 20:29
 
Fecha de Ingreso: mayo-2007
Mensajes: 4
Antigüedad: 17 años, 6 meses
Puntos: 0
Crosstab generico

Se tiene

Tabla Original
mercado moneda periodo valor factor
demo peso 1 100 1
demo peso 2 120 1
demo peso 3 100 1
demo dólar 1 500 0.2
demo dólar 2 480 0.25
demo dólar 3 510 0.196078431


Salida deseada
moneda periodo 1 periodo 2 periodo 3
peso 100 120 100
factor 1 1 1
dólar 500 480 510
factor 0.2 0.25 0.196078431

Se que con esto soluciono gran parte del problema

http://www.postgresql.org/docs/current/static/tablefunc.html

Pero como ven no solo deseo que aparezca el valor de la moneda en un registro sino que en el siguiente aparezaca el factor por periodos.

Como se puede por último hacer 2 querys y entremezclarlos para hacer la salida deseada.

Otra cosa ojala sea generico ya que no siempre son 3 periodos pueden ser n según el mercado.

Gracias de antemano.

Saludos.
  #2 (permalink)  
Antiguo 23/05/2008, 04:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Respuesta: Crosstab generico

bien la 8.3 ya tiene crosstab, no lo sabia.

Cita:
Iniciado por bellinux Ver Mensaje
Se que con esto soluciono gran parte del problema

http://www.postgresql.org/docs/curre...tablefunc.html
Por lo que he visto con eso solucionas todo el problema, que es lo que no te sale?
  #3 (permalink)  
Antiguo 27/05/2008, 22:19
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: Crosstab generico

Cita:
Iniciado por seyko Ver Mensaje
bien la 8.3 ya tiene crosstab, no lo sabia.
En el contrib de 8.1 también viene...

De paso, pregunto: cómo hago funcionar un crosstab en un esquema distinto al public... si lo uso en el public funciona bien, pero en otro me devuelve: ERROR: no existe la función crosstab(unknown)
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 28/05/2008, 02:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Respuesta: Crosstab generico

Cita:
Iniciado por cacr Ver Mensaje
En el contrib de 8.1 también viene...
Cierto
Cita:
De paso, pregunto: cómo hago funcionar un crosstab en un esquema distinto al public... si lo uso en el public funciona bien, pero en otro me devuelve: ERROR: no existe la función crosstab(unknown)
Dos opciones:
- Añadir el esquema al search_path
- prefijar la funcion con el esquema public.crosstab(...)

Salu2
  #5 (permalink)  
Antiguo 28/05/2008, 13:17
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: Crosstab generico

Vale... y gracias!

Hay que revisar un buen rato, porque funciona pero con sus detalles...

Hice uno que me devolció bien, porque tenía en atributos igual cantidad de registros para una columan que para la otra, pero cuando probé sobre una que sabía no tenía igual cantidad de registros, entonces devolvió pero con un orden distinto...

Como dije, a seguir revisando...
__________________
Gracias de todas todas
-----
Linux!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:37.