Avatar billede nemlig Professor
18. oktober 2009 - 00:05 Der er 4 kommentarer og
1 løsning

hvormange poster ud fra 2 datoer

Hejsa.
Jeg er kørt helt fast og håber på lidt hjælp.
Jeg har en db med 2 datoer i hver post, fx.
Dato1        Dato2
2010-01-01    2010-01-05
2010-01-06    2010-02-15
2010-02-16    2010-02-27
2010-02-28    2010-05-15
2010-05-16    2010-07-20
2010-07-21    2010-11-22
2010-11-23    2010-12-31

Jeg har 2 input-felter, hvor jeg angiver en startdato og en slutdato, og ud fra disse datoer, skal jeg tælle, hvor mange perioder der er i mellem disse datoer inkl. de 2 perioder datoerne ligger i.

Fx skal startdato=2010-04-01 og slutdato=2010-03-10 give 4 poster.
Avatar billede nissen2630 Novice
18. oktober 2009 - 01:31 #1
Det kan godt være jeg er ved at være for træt.

Kan ikke se sammenhænget i at startdato 1 april 2010 og slutdato 10 marts 2010.

Hvilke linier skulle den vælge ?
Avatar billede arne_v Ekspert
18. oktober 2009 - 03:30 #2
prøv:

SELECT COUNT(*)
FROM dintabel
WHERE (dato1 <= x AND x <= dato2)
OR (x < dato1 AND dato2 < y)
OR (dato1 <= y AND y <= dato2)
Avatar billede nemlig Professor
18. oktober 2009 - 08:55 #3
Nissen2630:
Det var mig, som var træt.
Eksemplet skulle være fra 2010-01-04 (4/1-2010) til 2010-03-10 (10/3-2010). Sorry!!
Arne_v: Jeg prøver lige med dit forslag og vender tilbage.
Avatar billede nemlig Professor
18. oktober 2009 - 09:07 #4
Arne_V:
Sejt - din kode virker perfekt. Tusind tak for hjælpen :)
Sender du et svar.
Avatar billede arne_v Ekspert
18. oktober 2009 - 15:23 #5
svar

Jeg kan iøvrigt ikke udlukke at den kan forsimples, men princippet er ret simpelt: den række som indeholder start + alle rækker mellem start og slut + den række som indeholder slut.
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