Avatar billede seamus Nybegynder
04. maj 2004 - 15:59 Der er 3 kommentarer

Avanceret søge/tællerfunktion

Hejsa...

Jeg sidder med en DB, hvor jeg skal have lavet et view, som gør følgende...

I min tabel er 2 kolonner, hvor den ene hedder Dato, og den anden hedder Type. Dato er dags dato på det tidspunkt, hvor kolonnen Type udfyldes. Type kan være A, B, C, D, E eller F. På den samme dato kan kolonnen Type godt modtage flere værdier end en eller slet ingen.

Mit view skal kunne fortælle, hvor mange A'er eller B'er eller C'er osv., der er kommet ind pr. dag - og gerne fordelt ud i kolonner, så der for hver dato er en kolonne for A, der indeholder et tal for, hvor mange A'er der er kommet ind den dag og en kolonne tilsvarende for B, C, D, E og F.

Jeg er kørt temmelig sur i det, så jeg håber, at der er en, der har en god ide...

/Seamus...
Avatar billede venne Nybegynder
05. maj 2004 - 09:18 #1
Prøv dette:

SELECT Dato,
      SUM(CASE Type WHEN 'A' THEN 1 ELSE 0 END) AS Antal_A,
      SUM(CASE Type WHEN 'B' THEN 1 ELSE 0 END) AS Antal_B,
      SUM(CASE Type WHEN 'C' THEN 1 ELSE 0 END) AS Antal_C,
      SUM(CASE Type WHEN 'D' THEN 1 ELSE 0 END) AS Antal_D,
      SUM(CASE Type WHEN 'E' THEN 1 ELSE 0 END) AS Antal_E,
      SUM(CASE Type WHEN 'F' THEN 1 ELSE 0 END) AS Antal_F,
FROM Tabel
GROUP BY Dato
Avatar billede zedios Nybegynder
05. maj 2004 - 09:21 #2
Er det på SQL Server 2000? Kan du leve med at løsningen benytter en UDF?
Avatar billede seamus Nybegynder
05. maj 2004 - 18:55 #3
Hejsa...

Er lige kommet fra job, hvor serveren er installeret...
Det er MS SQL server 7.0...

venne>> Det ser godt ud - jeg tester dit svar i morgen, når jeg kommer tilbage på "pinden" :-)
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