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

Consulta Mysql a 4 tablas

Estas en el tema de Consulta Mysql a 4 tablas en el foro de Mysql en Foros del Web. Hola a tod@s, estoy intentando hacer una consulta a 4 tablas y no consigo que me salga bien, en primer lugar las tablas son: provinces ...
  #1 (permalink)  
Antiguo 19/06/2017, 06:43
Avatar de Benderzuelo  
Fecha de Ingreso: mayo-2013
Ubicación: España
Mensajes: 223
Antigüedad: 10 años, 9 meses
Puntos: 5
Información Consulta Mysql a 4 tablas

Hola a tod@s,

estoy intentando hacer una consulta a 4 tablas y no consigo que me salga bien, en primer lugar las tablas son:

provinces -> id, name
zones -> id, name, supplier_id, web_coefficient, shop_coefficient, buying_coefficient
coefficients -> province_id, supplier_id, web_coefficient, shop_coefficient, buying_coefficient
zones_provinces -> province_id, zone_id

Lo que quiero es sacar todos los datos de coeficientes y que si una provincia no está asignada a una zona que salga NULL en zona, si la tiene quiero que salga el nombre de la zona, hasta aquí bien, lo que pasa es que solo me saca los registros que tienen zona asignada, y quiero todos, la consulta que estoy haciendo es la siguiente:

SELECT c.web_coefficient AS Cweb, c.shop_coefficient AS Cshop, c.buying_coefficient AS Cbuy, c.supplier_id AS CidProveeodr, z.id AS idZona, z.name AS nombreZona, z.web_coefficient AS Zweb, z.shop_coefficient AS Zshop, z.buying_coefficient AS Zbuy, p.id AS idProvincia, p.name AS nombreProvincia, zp.zone_id AS ZPidZona, zp.province_id AS ZPidProvincia
FROM coefficients c
LEFT JOIN zones z ON z.supplier_id = c.supplier_id
LEFT JOIN zones_provinces zp ON z.id = zp.zone_id
LEFT JOIN provinces p ON p.id = zp.province_id
WHERE c.supplier_id = 148
GROUP BY zp.province_id

me podéis ayudar?

Etiquetas: join
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 11:19.