Necesito ayuda en SQL...?

Tengo una serie de registos en una tabla, cronologicos, en donde recibo las entradas y salidas de personal. El identificador es el numero de nomina y tengo en una misma tabla sus entradas y salidas de la oficina. Lo que deseo es saber "en este momento" la última hora en que todos los empleados checaron su tarjeta.

Hay alguna instruccion que me diga cual es esa fecha y hora (entiende que hay digamos 200 empleados, pero tengo todos sus registros del mes, y no debo hacer sorteos, sino consultar la tabla directamente) espero haberme explicado.

Actualización:

Un detalle.. esta consulta no puedo hacerla 200 veces.. necesito una tabla que me regrese en un solo movimiento todos mis enmpleados... su ultimo movimiento, y recuerdo: no puedo hacer sorts ni ordenar, ni limityarme a un dia (piensen en aquellos que no fueron a trabajar, o estan de vacaciones y no han checado en días)

5 respuestas

Calificación
  • Anónimo
    hace 1 década
    Respuesta preferida

    Hola, lo que tienes que hacer es consultar tu table de empleados agrupando por empleado y fecha, escribiendo en el select la funcion agregada de Max para la fecha.

    supongamos que tengo la siguiente tabla:

    EMPLEADOS (Nombre de la tabla)

    Id (numero de nomina)

    Nombre

    FechaChecador

    La consulta que debes de hacer es de la siguiente manera:

    SELECT Id, Nombre, MAX (FechaChecador)

    FROM EMPLEADOS

    GROUP BY Id, Nombre

    ORDER BY Id

    Esta consulta te traera los registros de cada empleado con su ultima fecha de checado.

    Espero que esto te funcione. Espero los 10 puntos ok?

    Fuente(s): Tengo aproximadamente 11 años desarrollando sistemas, entre ellos he diseñado tres o cuatro de administracion de nominas
  • hace 1 década

    mmm creo que seria algo como:

    Select max(salidas de personal)as ultima_verificacion,numero de nomina from tu tabla group by numero de nomina

    Con esta instruccion lo que harias es sacar la ultima ves que checaron cada uno de los empleados, te apareceria algo asi.

    ultima_verificacion Numero Nomina

    08:00:00 PM 2564

    08:05:00 PM 5632

  • hace 1 década

    select identificador,max(hora),max(fecha) from tabla group by identificador

  • Thor
    Lv 7
    hace 1 década

    tendrias que filtrar primero solo los registros del dia ya sea comparando la fecha con el servidor y luego los datos restantes que te interesan.

  • ¿Qué te parecieron las respuestas? Puedes iniciar sesión para votar por la respuesta.
  • hace 1 década

    SELECT * FROM `TABLA` WHERE `empleado` = 333 ORDER BY `ID` DESC LIMIT 0 , 1;

    esto te devuelve la ultima entrada del emeplado 333

    modifica la consulta para que se ajuste a tu tabla

    Necesitas algo muy especifico, necesitariamos mas detalles de tu tabla y eso podria ser algo inseguro para ti, puedes entrar a https://ssl.tomalish.net/whrc/HelpDesk/index.whrc para que te proporcionen ayuda personal

¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.