Foro

evitar repetir joins

0
Buenas tardes, podria alguien ser tan amable de ayudarme con la sgte consulta? tengo una tabla conductores con la sgte estructura: [U]tabla conductores[/U] id_conductor nombre apellido luego una tabla bitacora con ua estructura como esta: [U]tabla bitacora[/U] veh id_conductor_1 id_conductor_2 id_conductor_3 al hacer mi consulta y que me muestre el nombre del conductor hago lo sgte: SELECT b.veh, CONCAT(c.apellido, ', ', c.nombre) conductor_1, CONCAT(d.apellido, ', ', d.nombre) conductor_2, CONCAT(e.apellido, ', ', e.nombre) conductor_3 FROM bitacora b LEFT JOIN conductores c ON c.id_conductor = b.id_conductor_1 LEFT JOIN conductores d ON d.id_conductor = b.id_conductor_2 LEFT JOIN conductores e ON e.id_conductor = b.id_conductor_3 esto me resulta pero el problema es que esta es una simplificación de la consulta por lo que me resulta impráctico hacerlo así, estoy seguro que debe haber un forma correcta y eficiente de hacer esta consulta pero estoy un poco perdido en mysql cualquier luz será agradecida u_u
0
no funca, me devuelve el mismo nombre repetido y no los nombres de los conductores :-(
0
Y est te funciona: SELECT b.veh, CONCAT(c.apellido, ', ', c.nombre) conductor_1, CONCAT(d.apellido, ', ', d.nombre) conductor_2, CONCAT(e.apellido, ', ', e.nombre) conductor_3 FROM bitacora b LEFT JOIN conductores c ON c.id_conductor = b.id_conductor_1 OR c.id_conductor = b.id_conductor_2 OR c.id_conductor = b.id_conductor_3 La verdad no lo he probado :-? pero intentalo :-D
0
quisiera evitar esto: LEFT JOIN conductores c ON c.id_conductor = b.id_conductor_1 LEFT JOIN conductores d ON d.id_conductor = b.id_conductor_2 LEFT JOIN conductores e ON e.id_conductor = b.id_conductor_3
0
No me queda claro algo... ¿Quieres escribir la consulta una vez y llamarla desde varios lados o quieres la consulta con una menos cantidad de JOINS?

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.