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

Problema con relaciones entre tres tablas

Estas en el tema de Problema con relaciones entre tres tablas en el foro de Mysql en Foros del Web. Buenos dias, les cuento mi problema tengo tres tablas diseñadas asi: producto{ cod_producto, refrencia, nombre, valor, peso, cod_proveedor cod_categoria } sede{ cod_sede, nombre_sede } producto_sede{ ...
  #1 (permalink)  
Antiguo 09/04/2012, 09:38
 
Fecha de Ingreso: abril-2012
Ubicación: Colombia
Mensajes: 10
Antigüedad: 7 años, 8 meses
Puntos: 0
Pregunta Problema con relaciones entre tres tablas

Buenos dias, les cuento mi problema tengo tres tablas diseñadas asi:

producto{
cod_producto,
refrencia,
nombre,
valor,
peso,
cod_proveedor
cod_categoria
}

sede{
cod_sede,
nombre_sede
}

producto_sede{
cod_producto_sede,
cod_producto,
cod_sede
cantidad
}

Lo que sucede es que me pidieron que pudiera almacenar un producto con X caracteristicas, pero que tomara la cantidad dependiendo de cada sede, pero sin tener que agregar dos veces el producto cambiando la sede, asi que opte por realizar una tabla en la que se relacione la sede con el producto y la cantidad que se encuentra en dicha sede, ahora el problema es que quiero que cuando la tabla este sin datos me muestre los datos del producto y su sede pero con la cantidad en 0.

Finalmente logre que me mostrara parte de lo que quiero asi:

SELECT * FROM categoria c, proveedor pv, medida m, producto p LEFT OUTER JOIN
(SELECT s.NOMBRE_SEDE, ps.COD_PRODUCTO FROM sede s
LEFT OUTER JOIN producto_sede ps ON s.COD_SEDE=ps.COD_SEDE) AS codPro
ON codPro.COD_PRODUCTO=p.COD_PRODUCTO WHERE c.COD_CATEGORIA=p.COD_CATEGORIA AND pv.COD_PROVEEDOR=p.COD_PROVEEDOR AND m.COD_MEDIDA=p.COD_MEDIDA
AND(p.REFERENCIA_PRODUCTO LIKE '%A25DH001%')

Osea quiero que se muestren los datos del producto mas el nombre de sede y cantidad repitiendose por el numero de sedes agregadas aunque no tenga registros en la tabla producto_sede que en tal caso validare para que me muestre 0.
Hasta ahora solo logro con la consulta anterior que me muestre los datos del producto una sola vez y sin el nombre de la sede. Cuando deberian ser dos registros cada uno con los datos del producto mas el nombre de la sede y la cantidad.

Espero puedan ayudarme muchas gracias de ante mano.
  #2 (permalink)  
Antiguo 09/04/2012, 15:21
 
Fecha de Ingreso: abril-2012
Ubicación: Colombia
Mensajes: 10
Antigüedad: 7 años, 8 meses
Puntos: 0
Respuesta: Problema con relaciones entre tres tablas

Probe haciendo esto:
SELECT * FROM producto p LEFT JOIN producto_sede ps ON (p.COD_PRODUCTO=ps.COD_PRODUCTO) LEFT JOIN sede s (s.COD_SEDE=ps.COD_SEDE)

Pero solo muestra los datos del producto y el nombre de sede en NULL un solo registro a pesar que tengo dos sedes agregadas.

Si cambio el ultimo LEFT por RIGHT me muestra los datos del producto en NULL y pero si el nombre de la sede dos registros como debe ser porque tengo dos sedes agregadas.

Ayuda porfavor...

Etiquetas: join, registros, relaciones, select, tabla, tablas, tres
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 02:56.