Avatar billede joki Mester
11. juli 2018 - 21:20 Der er 3 kommentarer

Find foregående dato i samme tabel

Hej

Jeg har en tabel med MedarbejderId, Kode, StartDato, SlutDato

Jeg har behov for en kolonne (outer apply) hvor den seneste SlutDato som er mindre end aktuel StartDato i samme tabel vises hvor det er samme MedarbejderId og Kode

F.eks.

MedarbejderId, Kode, StartDato, SlutDato, SensteDato

11,AA, 01-02-2018, 10-02-2018,null
11,AA, 12-02-2018, 15-02-2018,10-02-2018
11,AA, 18-02-2018, 20-02-2018,15-02-2018


På forhpnd tak
11. juli 2018 - 22:08 #1
Du kan med fordel gøre brug af LAG LEAD funktionen i SQL
11. juli 2018 - 22:15 #2
Du kan se demoen her: http://sqlfiddle.com/#!18/30b3f/3/0

og sqlen her Select *,LAG(slutdato,1,null) over(partition by medarbejderid,kode order by startdato) as SensteDato from dbo.test
Avatar billede Jørgen Kirkegaard Professor
12. juli 2018 - 12:25 #3
En finte kunne være at tage den højeste (MAX) af dem, der er mindre en den aktuelle.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester