SQL - Consulta SQL.

 
Vista:

Consulta SQL.

Publicado por Ramon (3 intervenciones) el 20/03/2007 17:25:49
Se ha creado Mal el documento de antes lo siento.

Hola, tengo una BD en sql server 2000, y la tengo linkada en adp con access. Tengo una vista que me esta llevando loco, y recurro aqui a ver si alguien tiene una solución

Tengo una tabla con un Campo IDempleado, otro Centro_Trabajo y otro con una fecha.

IDEmpleado | Centro_Trabajo | Fecha
----------------------------------------------------------
1 Madrid 12/12/2005
1 Barcelona 01/09/2005
1 Sevilla 01/03/2005
2 Madrid 12/12/2005
2 Barcelona 01/09/2005
2 Sevilla 01/03/2005
3 Madrid 12/12/2005
3 Barcelona 01/09/2005
3 Sevilla 01/03/2005
4 Madrid 12/12/2005
4 Barcelona 01/09/2005
5 Madrid 12/12/2005
5 Barcelona 01/09/2005

El caso que la fecha mas proxima indica el actual sitio de trabajo del empleado. El caso es que quiero sacar las ubicaciones de los trabajadores en el momento actual, o sea con fecha mas reciente. El caso es que utilizo la opcion distinct para despreciar los sitios anteriores del empleado. El problema es que el distinct desprecia registros iguales y como el campo Centro_Trabajo es diferente te los muestra todos. En el ejemplo de arriba en teoria ha de salir solamente los empleados trabajando en Madrid porque es la fecha mas reciente. Alguien tiene alguna idea?

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta SQL.

Publicado por Isaías (5072 intervenciones) el 20/03/2007 19:14:35
SELECT IDEmpleado, Centro_Trabajo,MAX( Fecha )
FROM tuTabla
GROUP BY IDEmpleado, Centro_Trabajo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL.

Publicado por Ramon (3 intervenciones) el 21/03/2007 10:10:45
Hola Isaias,

Gracias por responder. He puesto lo que me has comentado y me sale de cada ciudad la fecha mas alta para cada empleado. Quiza sea yo que haga algo mal, porque diria que asi ya lo habia intentado.

Gracias de todas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL.

Publicado por Isaías (5072 intervenciones) el 21/03/2007 19:16:57
Si nunca se dara que un EMPLEADO este en 2 ciudades en la misma fecha.

SELECT *
FROM EMPLEADO
JOIN (SELECT IDEmpleado, MAX(Fecha) AS FECHA
FROM EMPLEADO GROUP BY IDEmpleado) AS FECHAS
ON EMPLEADO.IDEmpleado = FECHAS.IDEmpleado
AND EMPLEADO.Fecha = FECHAS.Fecha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar