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