Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

SQL Alias en un LEFT JOIN

Estas en el tema de SQL Alias en un LEFT JOIN en el foro de SQL Server en Foros del Web. Bueno días! Tengo las siguientes tablas: TablaID -idAuto -idCamion TablaVehiculos -idVehiculo -nombre Quiero que me salga una fila con lo siguiente idAuto 582, nombre "Sedan", ...
  #1 (permalink)  
Antiguo 04/01/2011, 09:22
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta SQL Alias en un LEFT JOIN

Bueno días!

Tengo las siguientes tablas:

TablaID
-idAuto
-idCamion

TablaVehiculos
-idVehiculo
-nombre

Quiero que me salga una fila con lo siguiente
idAuto 582, nombre "Sedan", idCamion 321, nombre "Volvo"

Eso lo logro armando esta consulta:
Código SQL:
Ver original
  1. SELECT co.idAuto, cu.nombre, co.idCamion, cu2.nombre FROM TablaID AS co
  2. LEFT JOIN TablaVehiculos AS cu
  3. ON co.idAuto = cu.id
  4. LEFT JOIN TablaVehiculos AS cu2
  5. ON co.idCamion = cu2.id

Bien, ahora mi duda es si esta bien armada la consulta ya que utilizo la misma tabla con 2 alias diferentes cu y cu2 y si es posible hacer la misma consulta sin tener que utilizar 2 alias para la misma tabla.

Gracias!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #2 (permalink)  
Antiguo 04/01/2011, 09:42
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: SQL Alias en un LEFT JOIN

Buenos días dmassive

Creo que tu consulta es correcta, lo que está mal es tu modelo de BD. No es conveniente que en una registro tengas referencias dobles como es este caso. Lo correcto sería tener una tabla Autos con una llave idAuto y otra tabla Camiones con su respectiva llave idCamión, pero bueno eso depende de tu lógica de negocios.

Saludos
Leo.
  #3 (permalink)  
Antiguo 04/01/2011, 13:20
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: SQL Alias en un LEFT JOIN

Podria ser tambien un modelo con AUTO, TIPO, MODELO, MARCA........Donde el tipo nos dijera si es un AUTO, CAMION, LIMOSINE, etc.

Pero como bien dice Leonardo, dependera de la logica de tu negocio.
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 05/01/2011, 07:54
 
Fecha de Ingreso: julio-2008
Mensajes: 140
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: SQL Alias en un LEFT JOIN

Cita:
Iniciado por leonardo_josue Ver Mensaje
Buenos días dmassive

Creo que tu consulta es correcta, lo que está mal es tu modelo de BD. No es conveniente que en una registro tengas referencias dobles como es este caso. Lo correcto sería tener una tabla Autos con una llave idAuto y otra tabla Camiones con su respectiva llave idCamión, pero bueno eso depende de tu lógica de negocios.

Saludos
Leo.
No necesariamente, la BD esta bien armada, y quizás asi la necesite.

La consulta parece esta bien, lo unico que le agregaria es el DISTINCT, para evitar repeticiones)
  #5 (permalink)  
Antiguo 05/01/2011, 09:29
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: SQL Alias en un LEFT JOIN

Fueguino: Yo siempre he dicho que al CLIENTE lo que pida, aunque este mal.....

El principio de CALIDAD TOTAL dice: "Satisfacer las necesidades del cliente en un 100%" (nunca dice, CORRECTAMENTE o como DEBE SER)
__________________
MCTS Isaias Islas
  #6 (permalink)  
Antiguo 05/01/2011, 09:48
 
Fecha de Ingreso: julio-2008
Mensajes: 140
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: SQL Alias en un LEFT JOIN

Lo mismo que dije yo, pero con otras palabras...

Etiquetas: alias, join, left, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:52.