none
inner join con 3 tablas RRS feed

  • Pregunta

  • Hola a todos!! Tengo una duda,

    Vereis tengo 1 tabla que esta relacionada con 2 tablas. Quisiera obtener el resultado de todos aquellos registros que tienen algún registro relacionado en la tabla 2 o en la tabla 2, básicamente estoy realizando la siguiente consulta

    selec * from tabla1 right join tabla2 on tabla1.cod = tabla2.cod right join tabla3 on tabla1.cod=tabla3.cod

    El tema es que solo me devuelve resultados si hay registros relacionados en la tabla2 y en la tabla3, sabeis como puedo solucionarlo??

    Un saludo y muchas gracias.

    miércoles, 23 de abril de 2014 15:25

Respuestas

  • Hola,

    A ver si esta funciona:

    select tabla1 .*,'Con Tabla2' from tabla1,tabla2 WHERE tabla1.cod = tabla2.cod UNION select tabla1 .*,'Con Tabla3' from tabla1,tabla3 WHERE tabla1.cod = tabla3.cod


    Victor Koch

    • Marcado como respuesta Vicdeju viernes, 25 de abril de 2014 11:57
    miércoles, 23 de abril de 2014 16:00

Todas las respuestas

  • Hola,

    A ver si esta funciona:

    select tabla1 .*,'Con Tabla2' from tabla1,tabla2 WHERE tabla1.cod = tabla2.cod UNION select tabla1 .*,'Con Tabla3' from tabla1,tabla3 WHERE tabla1.cod = tabla3.cod


    Victor Koch

    • Marcado como respuesta Vicdeju viernes, 25 de abril de 2014 11:57
    miércoles, 23 de abril de 2014 16:00
  • No se si entendí bien.

    Supongamos:

    Tabla1
    Cod
    1
    2

    Tabla2

    Cod
    1
    3

    Tabla3

    Cod
    2
    4

    Resultado esperado ?

    cod cod cod
    1 1 NULL
    2 NULL 2

    Dado que:

    El codigo 1 existe en tabla1 y en tabla2

    El codigo 2 existe en tabla1 y en tabla3

    Si es eso debes usar left

    Select * From Tabla1 A left Join tabla2 B On a.cod=b.cod
    left Join tabla3 c on a.cod=c.cod

    Recuerda que la primera tabla te condiciona el resultado de las siguientes.

    Nos comentas.

    CristianPM.


    DBA SQL Server Santiago/Chile

    miércoles, 23 de abril de 2014 16:32
  • Muchas gracias Víctor, me ha funcionado perfecto.
    viernes, 25 de abril de 2014 11:57