Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/11/2015, 13:01
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duplicado de registros con un inner join

Ya veo...

Creo que esto ya te lo explicamos en otra ocasión, y es que a tus condiciones el falta un discriminante que relacione correctamente los datos. En tu caso, entrada y salida corresponden al mísmo día:
Código MySQL:
Ver original
  1. SELECT  
  2.          E.fecha_entrada,
  3.          E.hora_entrada,
  4.          e.clave_t_e,
  5.          s.fecha_salida,
  6.          s.hora_salida
  7.     FROM entrada e
  8.          INNER JOIN salida s ON e.clave_t_e = s.clave_t_s
  9.                             AND E.fecha_entrada = s.fecha_salida
  10. ORDER BY E.fecha_entrada, s.fecha_salida, e.clave_t_e;

Cuidado: ten en cuenta que no estás considerando la posibilidad de que entre en un día y salga en el otro. Esta query no funcionará bien con las fechas cruzadas.

La "duplicación" se da porque la clave relacionada en todos los días es siempre la misma. En ese caso no es un error de MySQL. Es un error de discriminación y relación de los datos.
Debes aprender a ver claramente las relaciones y deducir las condiciones que debe cumplir el resultado correcto. No estabas teniendo en cuenta el resto de los datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)