Ayuda de consulta

23/12/2003 - 11:04 por Miguel | Informe spam
Hola a todos y feliz navidad!
tengo q hacer una consulta q haga lo siguiente, a ver: en una tabla todos
los dias se introducen las jornadas de los trabajadores, y uno de estos
datos es la fecha en q acaba la jornada (imagino q por los nocturnos o así).
Ese datos es de tipo varchar(8) q lo meten como dd/mm/yy (creo q hubiera
sido mejor poner un smalldatetime pero bueno). Ese dato tiene null para los
trabajos aun en activo.
Queremos recuperar todos aquellos trabajadores (dato trabajador de la tabla)
cuya última fecha de fin de jornada es de antes del 1/12/03. Y queremos
recuperar esa última fecha tb.
Bien, la consulta que hice en un principio fue:

select conductor, max(convert(datetime,fechafin,3)) as ultima_fecha_fin
from trabajo
where convert(datetime,isnull(fechafin, '31/12/03'),3)<'2003-12-01'
group by conductor

con eso pretendo coger, entre los q tengan la fecha menor del 01/12/2003, q
me coja la ultima. A los q tengan null, como no quiero q me los coja, les
pongo una fecha posterior a la interesada.
La cuestión es q no quiero q me devuelva los q tengan trabajos posteriores
al 01/12/2003, y claro, de estos me devuelve de noviembre (según la consulta
totalmente legítimo pq es anterior a la fecha indicada).
¿Cómo puedo hacer para q SOLO me coja los q tiene la última fechafin
anterior al 01/12/2003 y q no tengan null ese valor?
Espero haberme explicado
Muchas gracias por todo
Un saludo
 

Leer las respuestas

#1 Miguel
23/12/2003 - 12:10 | Informe spam
Bueno
con esta consulta creo q lo hace pero seguro q es una barbaridad, aún así la
dejo por si a alguien le puede ser útil o le quiere dar un repaso.

select conductor, max(convert(datetime,isnull(fechafin, '31/12/03'),3)) as
ultima_fecha_fin
from trabajo
where convert(datetime,isnull(fechafin, '31/12/03'),3)<'2003-12-01'
and conductor not in(select conductor from trabajo where fechafin is null or
convert(datetime,isnull(fechafin, '31/12/03'),3)>'2003-12-01')
group by conductor

muchas gracias por su ayuda
un saludo

Preguntas similares