FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
una Query que no quiere salir
Buenas a todos:
Trabajo con SQL Server 7.(contra mi voluntad je!) Estoy tratando de generar un listado de todas los empleados que no generaron registros de actividad en un dia en particular. Las tablas que tengo son Empleados(con id_empleado, ........) Acciones( con id_empleado, Fecha_hora, ....etc) Por ejemplo tendria: Emplados ------------- 1 pepe 2 manolo 3 cris Acciones ------------ 1 01/05/03 ...... 2 01/05/03 ...... 1 02/05/03....... 2 03/05/03 ....... Mi listado tendria que ser : 01/05/03 cris 02/05/03 manolo 02/05/03 cris 03/05/03 pepe 03/05/03 cris Lo que estoy tratando de hacer es : Select fecha, nombre From empleados left outer join acciones on (empleados.id_empleado=acciones.id_empleado) Where (acciones.id_emplado is NULL) pero no me funciona.. Alguna sugerencia? otra cosita : seria muy util para mi poder filtra por fechas con algo como (fecha between '01/05/03' and '03/05/03') pero me imagino que quedaran estos campos en NULL despues del join, no? Gracias de antemano por su tiempo
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
#2
|
||||
|
||||
Todo esto es una suposición:
Si tus empleados generaron registros de actividad en un día en particular, entonces no van a tener un registro en esa tabla para poder compararlo con null, por lo tanto tu consulta no va a funcionar porque no se cumple la relación "empleados.id_empleado=acciones.id_empleado", lo que tienes que hacer es usar un NOT EXISTS Código:
Select fecha, nombre From empleados where not exists (select 1 from acciones where empleados.id_empleado=acciones.id_empleado)
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Muchas Gracias por tu idea pero..... El campo fecha justamente esta en la tabla Acciones, y con la consulta que me pasas solo consigo un registro por empleado que nunca haya hecho una actividad osea que no exista en la tabla acciones.
Lo que yo necesitaria es un registro por dia por empleado que no figure en actividades ej: 01/05/03 cris 02/05/03 manolo 02/05/03 cris 03/05/03 pepe 03/05/03 cris
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
#4
|
||||
|
||||
uPS.. Tienes razón.. me he olvidado lo mas importante...
Código:
Select fecha, nombre From empleados where not exists (select 1 from acciones where empleados.id_empleado=acciones.id_empleado and acciones.fecha = '01/01/2000')
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 22-08-2003 a las 21:10:50. |
#5
|
|||
|
|||
Muchisimas Gracias
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
|
|
|