11. november 2003 - 14:42
Der er
6 kommentarer og 1 løsning
Seneste tid for et id
Jeg har set mig totalt blind på nedenstående tabelstruktur tblA og tblB bindes sammen af tblAB (klassisk). tblA ========= person_id ========= 1 2 tblAB =================================== person_id | status_id | status_time =================================== 1 | 75 | 2003-01-06 1 | 32 | 2003-01-08 1 | 75 | 2003-01-10 2 | 75 | 2003-01-13 2 | 32 | 2003-01-21 tblB ========= status_id ========= 32 75 PROBLEMET ER at jeg skal bruge det seneste 'status_time' for HVERT 'person_id'. Altså skal resultatet af query'en være: =================================== person_id | status_id | status_time =================================== 1 | 75 | 2003-01-10 2 | 32 | 2003-01-21
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
11. november 2003 - 14:45
#1
select person_id, max(status_time) from tblAB group by person_id
11. november 2003 - 14:57
#2
Nej, det troede jeg også, men så mangler status_id. Tages den med i select'en så fås et forkert resultat hvis der er andre status_id'er end 32 og 75. Eksempelvis fås: =================================== person_id | status_id | status_time =================================== 1 | 75 | 2003-01-10 2 | 32 | 2003-01-21 2 | 68 | 2003-01-21 Hvis 68 er et status_id
11. november 2003 - 14:59
#3
select status_id, person_id, max(status_time) from tblAB group by status_id, person_id FUNGERER IKKE....
11. november 2003 - 15:00
#4
RETTELSE: =================================== person_id | status_id | status_time =================================== 1 | 75 | 2003-01-10 2 | 32 | 2003-01-21 2 | 68 | 2003-01-20 !!!!!!!!!!!!!
11. november 2003 - 15:17
#5
Oki... Du vil ha' hele rækken.... prøv: select a.* from tblAB a, (select person_id, max(status_time) ms from tblAB group by person_id) b where a.person_id = b.person_id and a.status_time = ms
11. november 2003 - 15:41
#6
Du har lige reddet min dag - det var guld værd for mig. Værs'go 30 point. Tak for hjælpen
11. november 2003 - 15:44
#7
Velbekomme og selv tak :-)
Computerworld tilbyder specialiserede kurser i database-management