Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/12/2011, 03:33
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Consulta en MYSQL sacar secuencia

Aqui tienes una solución.

Código MySQL:
Ver original
  1. DROP TABLE IF EXISTS ints,calendar;
  2.  
  3. CREATE TABLE INTS(i int);
  4.  
  5. INSERT INTO ints
  6.       VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
  7.  
  8. CREATE TABLE calendar(fecha date);
  9.  
  10. SET @n=0;
  11.  
  12. INSERT INTO calendar
  13.         SELECT ADDDATE('2008-1-1',@n:=@n+1)
  14.             FROM ints a JOIN ints b;

Se trata de crear una tabla llamada calendar el ejemplo que ponen genera los 100 primeros dias de 2008... pero modificando la cantidad de numeros entrados en INTS y la fecha inicial no sera dificil de modificar (fijate que se apoyan en un producto cartesiano entres INTS y INTS).

Una vez tienes la tabla calendar del periodo que necesites (o una seleccion de esta entre fechas...)

Código MySQL:
Ver original
  1. SELECT c.fecha
  2. FROM calendar c
  3. WHERE c.fecha NOT IN (SELECT e.Fecha
  4.                       FROM  TuTablaEntradas e
  5.                       WHERE e.idEmpleado=X
  6.                       AND e.Fecha>='inicio periodo'
  7.                       AND e.Fecha<='fin periodo')

te dará las fechas que el empleado 1 no trabajo....

Te has planteado que pasa si un empleado entra y sale mas de una vez en un mismo dia o entra pero no sale o sale pero no entra...

(Por cierto a la tabla tambien le puedes llamar calendario... no por nombrarla en ingles va a funcionar mejor)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 30/12/2011 a las 04:17