Tengo las siguientes tablas:
tblPerson:Recuperando los registros más recientes dentro de una consulta
PersonID | Name
---------------------
1 | John Smith
2 | Jane Doe
3 | David Hoshi
tblLocation:
LocationID | Timestamp | PersonID | X | Y | Z | More Columns...
---------------------------------------------------------------
40 | Jan. 1st | 3 | 0 | 0 | 0 | More Info...
41 | Jan. 2nd | 1 | 1 | 1 | 0 | More Info...
42 | Jan. 2nd | 3 | 2 | 2 | 2 | More Info...
43 | Jan. 3rd | 3 | 4 | 4 | 4 | More Info...
44 | Jan. 5th | 2 | 0 | 0 | 0 | More Info...
puedo producir una consulta SQL que obtiene los registros de ubicación de cada persona como tal:
SELECT LocationID, Timestamp, Name, X, Y, Z
FROM tblLocation
JOIN tblPerson
ON tblLocation.PersonID = tblPerson.PersonID;
para producir el siguiente:
LocationID | Timestamp | Name | X | Y | Z |
--------------------------------------------------
40 | Jan. 1st | David Hoshi | 0 | 0 | 0 |
41 | Jan. 2nd | John Smith | 1 | 1 | 0 |
42 | Jan. 2nd | David Hoshi | 2 | 2 | 2 |
43 | Jan. 3rd | David Hoshi | 4 | 4 | 4 |
44 | Jan. 5th | Jane Doe | 0 | 0 | 0 |
Mi problema es que sólo estamos preocupados por el más reciente registro de ubicación. Como tal, sólo estamos realmente interesados en las filas siguientes: LocationID 41, 43 y 44.
La pregunta es: ¿Cómo podemos consultar estas tablas para darnos los datos más recientes sobre una persona por- ¿base? ¿Qué agrupación especial debe suceder para producir el resultado deseado?
puede publicar la solución final plzz –