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

[SOLUCIONADO] Left join limit 1

Estas en el tema de Left join limit 1 en el foro de Mysql en Foros del Web. Buenas, Necesito implementar un LEFT JOIN que sólo devuelva un registro, sólo uno, me da igual el primero o el último. Tengo la siguiente instrucción: ...
  #1 (permalink)  
Antiguo 29/11/2017, 15:21
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
Left join limit 1

Buenas,
Necesito implementar un LEFT JOIN que sólo devuelva un registro, sólo uno, me da igual el primero o el último.
Tengo la siguiente instrucción:
Código MySQL:
Ver original
  1. SELECT tr.dia, tr.proyecto, tr.tarea, ta.descripcion
  2. FROM trabajoshoras tr
  3. LEFT JOIN tareas ta ON ta.codigo=tr.tarea AND ta.proyecto=tr.proyecto
  4. LEFT JOIN usuarios us ON tr.operario = us.cod
  5. WHERE tr.anyo = '2017' AND tr.mes = '09' AND tr.operario = '10' AND dia='18'
  6. ORDER BY us.apellidos, tr.dia, tr.inicio, tr.final

Este LEFT JOIN
Código MySQL:
Ver original
  1. LEFT JOIN tareas ta ON ta.codigo=tr.tarea AND ta.proyecto=tr.proyecto
devuelve dos registros y quiero que sólo devuelva uno

Mirando por Google, creo que debería hacer algo así, pero no me sale
Código MySQL:
Ver original
  1. SELECT tr.dia, tr.proyecto, tr.tarea, ta.descripcion
  2. FROM trabajoshoras tr
  3. LEFT JOIN tareas ta ON ta.descripcion=(SELECT descripcion FROM tareas WHERE codigo=tr.tarea AND proyecto=tr.proyecto LIMIT 1)
  4. LEFT JOIN usuarios us ON tr.operario = us.cod
  5. WHERE tr.anyo = '2017' AND tr.mes = '09' AND tr.operario = '10' AND dia='18'
  6. ORDER BY us.apellidos, tr.dia, tr.inicio, tr.final

Muchas gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 29/11/2017, 17:13
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
Respuesta: Left join limit 1

Yo misma me respondo. Lo he resuelto así:

Código MySQL:
Ver original
  1. LEFT JOIN (SELECT descripcion, proyecto, codigo FROM tareas GROUP BY proyecto, descripcion) ta2 ON ta2.proyecto=tr.proyecto AND ta2.codigo=tr.tarea
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Etiquetas: ip, join, left, limit, registro, select
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 05:35.