Avatar billede michaelthomassen Nybegynder
23. november 2008 - 13:32 Der er 3 kommentarer og
1 løsning

Antal pr. dag

Jeg har en tabel indeholdende StartDato og SlutDato og et antal. Jeg har brug for et udtræk indeholdende antal pr. dag.

F.eks.
ID  StartDato    SlutDato    Antal
1    01-11-2008  04-11-2008  5
2    02-11-2008  03-11-2008  2
3    03-11-2008  06-11-2008  1
4    06-11-2008  06-11-2008  3

Udtrækket skal være i følgende format:
Dato          Antal
01-11-2008  5
02-11-2008  7
03-11-2008  8
04-11-2008  6
05-11-2008  1
06-11-2008  4

På forhånd tak!
Avatar billede showsource Seniormester
23. november 2008 - 13:39 #1
SELECT StartDato, SUM(Antal) as ialt FROM tabel GROUP BY StartDato

Jeg er ikke helt med på dit spm.

Og bruger du ikke standard dato format? YY-MM-DD
Avatar billede michaelthomassen Nybegynder
23. november 2008 - 14:54 #2
Måske lidt yderligere forklaring er nødvendigt.

Tabellen indeholder reservationer af bookingenheder. Dvs. i ovenstående eksempel, har en kunde reserveret 5 enheder fra 1-11 til 4-11, en anden kunde 2 enheder fra 2-11 til 3-11. (Dermed er der reserveret 5 enheder den 1., 7 enheder den 2. og 3. og 5 enheder den 4. ialt på disse to reservationer)

Jeg har brug for at vide hvor mange enheder der er reserveret hver enkel dag.

Dato formatet er korrekt i db'en (YYYY-MM-DD), eksemplet er bare skrevet med dansk dato format :)
Avatar billede arne_v Ekspert
23. november 2008 - 16:17 #3
Alt for besværligt at lave i SQL. Lad din app lave et array oog så læser du
rækkerne ind fra tabellen enkeltvist og tæller alle elementer i arrayet op for
intervallet.
Avatar billede michaelthomassen Nybegynder
23. november 2008 - 17:38 #4
Løsningen var egenlig ganske simpel. Jeg ændrede lidt i min tabel (tilføjede klokkeslet til Start og slut dato (00:00:00 til start og 23:59:59 til slut dato)), hvorefter jeg oprettede en ny tabel, kun indeholdende fortløbende datoer (2008-11-01 12:00:00, 2008-11-02 12:00:00 osv.). Min query kom dermed til at hedde;

SELECT CDato, SUM(Antal)
FROM Reservationer, Datoer
WHERE CDato > StartDato AND CDato < SlutDato
GROUP BY CDato
ORDER BY CDato
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