none
Consultar dos veces a la misma tabla para dos campos de una sola tabla RRS feed

  • Pregunta

  • Saludos estimados, les explico un poco mi problema.

    Como se muestra en la imagen, tengo dos tablas: Venta y Usuario, la cual Venta esta doblemente relacionada a la tabla usuario por dos campos que tienen el mismo significado, en una consulta, debo obtener el nombre de ambos usuario que como acá en la imagen muestra que pueden ser distintos o iguales. Como puedo formar esta consulta?

    Desde ya gracias

    sábado, 13 de octubre de 2012 5:35

Respuestas

  • Pues se hace igual que si fuera un solo campo:  Un Join por cada nombre que quiera obtener.

    Select
        v.ID
        , v.Codigo
        , v.Fecha
        , uv.Nombre As [UsuarioVenta]
        , up.Nombre As [UsuarioPago]
    From
        Venta As v
        Inner Join
        Usuario As uv
        On v.UsuarioVenta = uv.ID
        Inner Join
        Usuario As up
        On v.UsuarioPago = up.ID
    Where
        --Cualquier condición adicional que necesite.
    ;


    Jose R. MCP
    Code Samples

    sábado, 13 de octubre de 2012 6:06

Todas las respuestas

  • Pues se hace igual que si fuera un solo campo:  Un Join por cada nombre que quiera obtener.

    Select
        v.ID
        , v.Codigo
        , v.Fecha
        , uv.Nombre As [UsuarioVenta]
        , up.Nombre As [UsuarioPago]
    From
        Venta As v
        Inner Join
        Usuario As uv
        On v.UsuarioVenta = uv.ID
        Inner Join
        Usuario As up
        On v.UsuarioPago = up.ID
    Where
        --Cualquier condición adicional que necesite.
    ;


    Jose R. MCP
    Code Samples

    sábado, 13 de octubre de 2012 6:06
  • Muchas gracias José. Ha funcionado.
    sábado, 13 de octubre de 2012 6:47
  • Excelente!!!

    Buscaba lo mismo y si me funcionó. Dejo mi consulta:

    SELECT Tbl.NumPartido, EL.equiposcol AS ELocal, EV.equiposcol AS EVisita

    FROM apertura2015 AS Tbl

    INNER JOIN equipos AS EL ON Tbl.Local = EL.num_equipo

    INNER JOIN equipos AS EV ON Tbl.Visita = EV.num_equipo

    viernes, 26 de junio de 2015 18:43
  • Sabes como hacer eso con eloquent en Laravel
    lunes, 17 de diciembre de 2018 14:38