Nueva pregunta

Pregunta:

 
  0  
 
Fecha: 19-06-2017 03:20:52 (En Español)

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
Etiquetas: Base de Datos - MySQL - Pregunta - Query - SQL 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
     
  •  
      0  
     
    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
     
  •  
      0  
     
    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
     
  •  
      0  
     
    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
 
frjcbbae garagebible.com