webForumDet fria alternativet

Sortera ut närmaste lägre datum

Databaser & SQL

2 svar · 463 visningar · startad av Webslave

Medlem sedan maj 2002647 inlägg
Frågan#1

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?

Medlem sedan dec. 200012 464 inlägg
#2
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')
Medlem sedan maj 2002647 inlägg
#3

Jag bugar och bockar och avundas din storhet!

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)