KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have the following tables: tblPerson: 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... I can produce an SQL query that gets the Location records for each Person like so: SELECT LocationID, Timestamp, Name, X, Y, Z FROM tblLocation JOIN tblPerson ON tblLocation.PersonID = tblPerson.PersonID; to produce the following: 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 | My issue is that we're only concerned with the most recent Location record. As such, we're only really interested in the following Rows: LocationID 41, 43, and 44. The question is : How can we query these tables to give us the most recent data on a per-person basis? What special grouping needs to happen to produce the desired result?
Tags (comma-separated)
Save Edits
Cancel