locked
Inner Join 3 Tablas Relacionadas RRS feed

  • Pregunta

  • Tabla Regiones

    IdRegion
    Region
    ----------------------

    Tabla Provincias


    Idprovincia
    Provincia
    Idregion(FK)
    ----------------------


    Tabla Comunas

    Idcomuna
    Comuna
    provincia (FK)
    -----------------------

     

     

    SELECT comunas.comuna, provincias.provincia FROM Comunas INNER JOIN Provincias ON Comunas.idprovincia= provincias.idprovincia

     

    Como puedo hacer la relacion para que esa consulta me muestre a que Región pertenece.?

     

     

    Saludos

    jueves, 15 de abril de 2010 5:07

Respuestas

  • Sería algo como

    SELECT c.comuna, p.provincia, r.region FROM Comunas cINNER JOIN Provincias pON c.idprovincia= p.idprovincia INNER JOIN Regiones r ON r.IdRegion = p.IdRegion

    • Propuesto como respuesta Carlos Sacristan jueves, 15 de abril de 2010 7:55
    • Marcado como respuesta Vito2009 jueves, 15 de abril de 2010 20:16
    jueves, 15 de abril de 2010 7:55

Todas las respuestas

  • Sería algo como

    SELECT c.comuna, p.provincia, r.region FROM Comunas cINNER JOIN Provincias pON c.idprovincia= p.idprovincia INNER JOIN Regiones r ON r.IdRegion = p.IdRegion

    • Propuesto como respuesta Carlos Sacristan jueves, 15 de abril de 2010 7:55
    • Marcado como respuesta Vito2009 jueves, 15 de abril de 2010 20:16
    jueves, 15 de abril de 2010 7:55
  • Sería algo como

    SELECT c.comuna, p.provincia, r.region FROM Comunas cINNERJOIN Provincias pON c.idprovincia= p.idprovincia INNER JOIN Regiones r ON r.IdRegion = p.IdRegion


    Gracias, funciona 

     

    Habìa hecho lo mismo pero con el segundo INNER cambiado.

     

     

    Saludos

     

     

    jueves, 15 de abril de 2010 20:16
  • Esto es algo mas resumido:

    SELECT    A.Comuna, B.Provincia, C.Region

       FROM Comunas A, Provincias B, Regiones C

    WHERE B.Idregion = C.IdRegion

        AND A.provincia = B.Idprovincia

        AND C.IdRegion = X

     

    viernes, 16 de abril de 2010 21:29
  • Hola

    Antonio, aunque esa sintaxis es válida, la expuesta antes es preferible por cuestiones pedagógicas. Si uno de los cruces ha de ser externo (left join, por ejemplo), entonces ya no te sirve esa manera. Y tampoco resumes nada.


    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    sábado, 17 de abril de 2010 6:50
    Moderador