Avatar billede joki Juniormester
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

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