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

unir en una fila las Existencias de sucursales?

Estas en el tema de unir en una fila las Existencias de sucursales? en el foro de PostgreSQL en Foros del Web. Hola un gran saludo y otra vez ocasionando molestias. Bueno mi consulta es esta: lo que pasa es que tendo las tablas: producto, existencia y ...
  #1 (permalink)  
Antiguo 26/10/2009, 11:08
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
unir en una fila las Existencias de sucursales?

Hola un gran saludo y otra vez ocasionando molestias.
Bueno mi consulta es esta: lo que pasa es que tendo las tablas: producto, existencia y sucursales.
Tabla producto
*idproducto(llave)
*descrip
Tabla sucursales
*idSucursales(llave)
*Sucursal
Tabla Existencia
*idexistencia(llave)
*idproducto(llve forania)
*idSucursale(llave Forania)
*Existencia
Lo que pretendo hacer que a la hora de una consulta en una misma fila me salgan las existencias de cada sucursal: ejemplo:
producto Existenciaidsucursal1 Existenciaidsucursal2 Existenciaidsucursal3
1 2 1 4
(Cada numero va debajo es que no me respeta los espacios la pagina)
Se podrá realizar este tipo de consulta? o alguna idea ?.
Hasta pronto y gracias por su atención. ando desesperado

Última edición por denpz; 26/10/2009 a las 11:10 Razón: por q no respeto el espacio
  #2 (permalink)  
Antiguo 26/10/2009, 12:59
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: unir en una fila las Existencias de sucursales?

denpz si pones los create table de las tablas y algunos registros de prueba, será mas facil para alguien ayudarte rápida y eficazmente.

Por lo poco que te entendí, necesitarías una consulta dinámica en cuanto a columnas?
si hay 4 idsucursales que las muestre en columnas diferentes?

Creo que lo mejor es obtener la información requerida sin importar la forma de visualizarla y dejar encargada a la aplicación de organizarla tal como quieres.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 27/10/2009, 10:55
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: unir en una fila las Existencias de sucursales?

si creo que eso hare desde la aplicación lo realizare. Pero si alguien tiene una idea la estaré esperando.
  #4 (permalink)  
Antiguo 27/10/2009, 11:12
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: unir en una fila las Existencias de sucursales?

Lo que necesitas se llaman cross table o pivot query y ese es uno de las grandes deficiencias de postgres, pero puedes intentar una solucion como las que se muestran aca
  #5 (permalink)  
Antiguo 27/10/2009, 11:14
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: unir en una fila las Existencias de sucursales?

Aunque sabes, me imagino que tienes un numero definido de sucursales, si no son muchas puedes solucionarlo usando CASE a la manera que se muestra en esta otra pagina
  #6 (permalink)  
Antiguo 18/11/2009, 07:47
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: unir en una fila las Existencias de sucursales?

hola estoy checando los enlaces y se ve muy bien, son 4 sucursales pero lo malo q puede creser pero si voy a revisar los enlases y te cuento la verdad pense que rea imposible gracias te lo agradesco.
  #7 (permalink)  
Antiguo 18/11/2009, 09:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: unir en una fila las Existencias de sucursales?

otra vez yo de pregunton, ya vi lo de cross y si me agrado demaciado pero ya estuve dando bueltas y no se c omo hacerle para sacar mas de 3 campos de la misma tabla.
  #8 (permalink)  
Antiguo 18/11/2009, 09:46
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: unir en una fila las Existencias de sucursales?

Pon lo que llevas y lo que deseas
  #9 (permalink)  
Antiguo 18/11/2009, 10:23
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: unir en una fila las Existencias de sucursales?

esta es la esctructura dela tabla que quiero :
existencias
(
id_exist integer NOT NULL,
clave character varying(50),
existencia numeric(18,2),
exismax numeric(18,2),
exismin numeric(18,2),
idsucursal integer,
status_existencia character varying(1),
)

llevo esto:
SELECT projreport.row_name[1] As clave, projreport.row_name[2] As descrip ,exist1 , exist2 ,
exist3 ,exist4
FROM crosstab('SELECT ARRAY[i.clave::text, i.descrip::text] As row_name,
if.existencia::text As bucket,
if.existencia::text As bucketvalue
FROM producto i LEFT JOIN existencias As if
ON (i.clave = if.clave)
GROUP BY idsucursal,i.clave,descrip, if.existencia
ORDER BY i.clave,idsucursal, if.existencia'
)
As projreport(row_name text[], exist1 text, exist2 text,
exist3 text,exist4 text )
el cual a si me funciona y tira esto:
| clave | descrip | exist1 | exist2 | exist3 | exist4 |

bueno lo que quiero es por ejemplo el status_existencia me lanse esto y a si con maxima existencia y con cada uno de los campos
| clave | descrip | exist1 | exist2 | exist3 | exist4 | status_existencia1 | status_existencia2 | status_existencia3 | status_existencia4

cres q se pueda? gracias por tu apoyo
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 18:35.