select Anställd,Datum,Schema
from t as q
where datum =
(select max(datum)
from t
where q.anställd = t.anställd
and t.datum <= '2010-08-17')
Svårt att hitta en bra beskrivande rubrik på min fråga.
I min databas (Microsoft Access 2002 SP3) så har jag en massa schemaperioder kopplade till en hög med anställda (innehåller info om vilka scheman de går på osv). Vi kan säga att tabellen ser ut ungefär så här:
Anställd Datum Schema
Kenth 2010-09-10 3
Kenth 2010-03-22 2
Kenth 2009-12-01 1
Simon 2010-09-10 3
Simon 2010-03-22 2
Simon 2009-12-01 1
Hanna 2010-09-10 3
Hanna 2009-12-01 2
Sara 2010-09-10 3
Sara 2010-03-22 2
Sara 2009-12-01 3
Jag vill kunna söka på och få ut hur alla deras scheman ser ut ett specifikt datum. Kolumnen "Datum" är alltså när schemat börjar att gälla och det löper fram tills dess att ett annat schema dyker upp. Dvs söker jag på datumet 2010-08-17 så ska resultatet bli:
Anställd Datum Schema
Kenth 2010-03-22 2
Simon 2010-03-22 2
Hanna 2009-12-01 2
Sara 2010-03-22 2
Jag kan för allt smör i småland inte komma på hur i helskotta jag ska göra! Jag har suttit med detta i månader och det är totalt stopp.
Kan någon vänlig människa hjälpa mig i rätt riktining?