Pregunta:
Fecha: 19-06-2017 03:20:52
(En Español)
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?, Mysql no se me da muy bien jejeje Votos: 0 - Respuestas: 5 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
Consulta MySQL a 4 tablas[Resuelta]
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?, Mysql no se me da muy bien jejeje Votos: 0 - Respuestas: 5 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 19-06-2017 15:37:05 hola, veamos yo lo he echo con 2 tablas a juntar y les vamos a poner un identificador a cada una...
jefes -> J
empleados -> E
"SELECT nombre_empleado, nombre_jefe, E.salario, J.salario FROM empleados E, jefes J"
Si te fijas cuando no hay campos con mismo nombre en ambas tablas, pones el nombre tal cual, pero si hay 1 campo que necesitas y se llama igual en las tablas debes ocupar el identificador, por eso el E.salario y el J.salario.... de igual forma a la hora de imprimir seria
echo $row['J.salario'] o echo $row['E.salario']
espero haberte ayudado..... Votos: 0 - Link respuesta -
Fecha: 19-06-2017 21:24:54 Hola Amilcar, gracias por tu aporte pero si te fijas en la consulta que he hecho ya estoy usando alias.
De todos modos mi problema tampoco era ese.
Saludos Votos: 0 - Link respuesta -
Fecha: 22-06-2017 07:03:59 Buen día observando tu query me parece que el problema es que estas agrupando zp.province_id y por eso jamas te saldrán los NULL ya que te agrupa los id prueba quitando group by Votos: 0 - Link respuesta
-
Fecha: 22-06-2017 23:17:53 Hola Ruben,
muchas gracias pero eso ya lo probé antes de preguntar aquí y lo que me ocurría es que se repetían las 52 provincias tantas veces como asociaciones NO NULL hubieran :( Votos: 0 - Link respuesta -
Fecha: 25-06-2017 21:21:07 Hola compañeros, al final esto lo he resuelto haciendo varias consultas, muchas gracias a todos por vuestras opiniones. Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
