Consulta con dos campos enlazados a la misma tabla

10/05/2007 - 21:18 por ZiCruz | Informe spam
Hola a tod@s,



os cuento tengo una tabla llamada "TCP" que entre otros tiene los los
campos:

- protocoloOrigen

- protocoloDestino



y en otra tabla llamada "protocolosAplicaciones" tengo la descripcion
de esos protocolos: con solo los campos:



-protocolo

-descripcion



y yo queria hacer una consulta en la que poder incluir las descripciones del
protocoloOrigen y del protocoloDestino



¿como puede hacerlo?

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
10/05/2007 - 22:31 | Informe spam
ZiCruz,

Pues debes unir tabla [TCP] dos veces con tabla [protocolosAplicaciones ],
una por cada relacion.

select
a.protocoloOrigen,
b.descripcion as descripcion_o,
a.protocoloDestino,
c.descripcion as descripcion_d,
from
dbo.TCP as a
inner join
dbo.protocolosAplicaciones as b
on a.protocoloOrigen = b.protocolo
inner join
dbo.protocolosAplicaciones as c
on a.protocoloDestino = c.protocolo
go


AMB


"ZiCruz" wrote:

Hola a ,



os cuento tengo una tabla llamada "TCP" que entre otros tiene los los
campos:

- protocoloOrigen

- protocoloDestino



y en otra tabla llamada "protocolosAplicaciones" tengo la descripcion
de esos protocolos: con solo los campos:



-protocolo

-descripcion



y yo queria hacer una consulta en la que poder incluir las descripciones del
protocoloOrigen y del protocoloDestino



¿como puede hacerlo?

Respuesta Responder a este mensaje
#2 ZiCruz
10/05/2007 - 22:39 | Informe spam
no funciona de esa manera, hay que hacerle un pequeña modificación:

SELECT dbo.TCP.idTrama,
dbo.TCP.puertoOrigen,
pa1.descripcion AS descripcionOrigen,
dbo.TCP.puertoDestino,
pa2.descripcion AS descripcionDestino
FROM dbo.TCP
LEFT OUTER JOIN
dbo.PuertosDeApliaciones AS pa2 ON dbo.TCP.puertoDestino =
pa2.puerto
LEFT OUTER JOIN
dbo.PuertosDeApliaciones AS pa1 ON dbo.TCP.puertoOrigen =
pa1.puerto
ORDER BY dbo.TCP.idTrama


"Alejandro Mesa" wrote:

ZiCruz,

Pues debes unir tabla [TCP] dos veces con tabla [protocolosAplicaciones ],
una por cada relacion.

select
a.protocoloOrigen,
b.descripcion as descripcion_o,
a.protocoloDestino,
c.descripcion as descripcion_d,
from
dbo.TCP as a
inner join
dbo.protocolosAplicaciones as b
on a.protocoloOrigen = b.protocolo
inner join
dbo.protocolosAplicaciones as c
on a.protocoloDestino = c.protocolo
go


AMB


"ZiCruz" wrote:

> Hola a ,
>
>
>
> os cuento tengo una tabla llamada "TCP" que entre otros tiene los los
> campos:
>
> - protocoloOrigen
>
> - protocoloDestino
>
>
>
> y en otra tabla llamada "protocolosAplicaciones" tengo la descripcion
> de esos protocolos: con solo los campos:
>
>
>
> -protocolo
>
> -descripcion
>
>
>
> y yo queria hacer una consulta en la que poder incluir las descripciones del
> protocoloOrigen y del protocoloDestino
>
>
>
> ¿como puede hacerlo?
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
11/05/2007 - 01:53 | Informe spam
ZiCruz,

Eso pasa cuando se da poca informacion sobre sobre el problema o objetos que
participan en el, tal como que esas columnas aceptan valores NULL . De todas
maneras me alegra que hayas encontrado la solucion.


AMB

"ZiCruz" wrote:

no funciona de esa manera, hay que hacerle un pequeña modificación:

SELECT dbo.TCP.idTrama,
dbo.TCP.puertoOrigen,
pa1.descripcion AS descripcionOrigen,
dbo.TCP.puertoDestino,
pa2.descripcion AS descripcionDestino
FROM dbo.TCP
LEFT OUTER JOIN
dbo.PuertosDeApliaciones AS pa2 ON dbo.TCP.puertoDestino =
pa2.puerto
LEFT OUTER JOIN
dbo.PuertosDeApliaciones AS pa1 ON dbo.TCP.puertoOrigen =
pa1.puerto
ORDER BY dbo.TCP.idTrama


"Alejandro Mesa" wrote:

> ZiCruz,
>
> Pues debes unir tabla [TCP] dos veces con tabla [protocolosAplicaciones ],
> una por cada relacion.
>
> select
> a.protocoloOrigen,
> b.descripcion as descripcion_o,
> a.protocoloDestino,
> c.descripcion as descripcion_d,
> from
> dbo.TCP as a
> inner join
> dbo.protocolosAplicaciones as b
> on a.protocoloOrigen = b.protocolo
> inner join
> dbo.protocolosAplicaciones as c
> on a.protocoloDestino = c.protocolo
> go
>
>
> AMB
>
>
> "ZiCruz" wrote:
>
> > Hola a ,
> >
> >
> >
> > os cuento tengo una tabla llamada "TCP" que entre otros tiene los los
> > campos:
> >
> > - protocoloOrigen
> >
> > - protocoloDestino
> >
> >
> >
> > y en otra tabla llamada "protocolosAplicaciones" tengo la descripcion
> > de esos protocolos: con solo los campos:
> >
> >
> >
> > -protocolo
> >
> > -descripcion
> >
> >
> >
> > y yo queria hacer una consulta en la que poder incluir las descripciones del
> > protocoloOrigen y del protocoloDestino
> >
> >
> >
> > ¿como puede hacerlo?
> >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida