Avatar billede balderk Nybegynder
21. september 2007 - 14:13 Der er 4 kommentarer og
1 løsning

Count distinct med alternativ gruppering til debitorstatistik

En udfordring:

Jeg har en query (DebPst) med enkelte posteringer vedr. debitorer [kd] med angivelse af forfaldskategori [ffkat].
ID, kd, beløb, ffkat
1,1,100,1
2,1,200,1
3,1,200,2
4,2,200,2

Fra denne har jeg en anden query med sum pr. forfaldskategori.
ffkat, sum([beløb])
group by ffkat

ffkat,sumofbeløb
1, 300
2, 200

Her vil jeg også gerne have angivet antal af distinkte debitorer [kd].
ffkat, sumofbeløb, AntalDistkd
1, 300, 1
2, 200, 2

Og det er her I kommer ind i billedet, for det har jeg fået stirret mig blind på.

Jeg har prøvet at lege med select distinct og nestede selects, men kan ikke få det til at gå op.

Jeg ville foretrække en løsning i sql, men den må ikke blive for langsom (70k records). Alternativt en løsning, der virker i VB.

pft.
Balder
Avatar billede Slettet bruger
21. september 2007 - 14:45 #1
Foresporgsel1:

SELECT NavnPaaTabel.kd, Sum(NavnPaaTabel.Beløb) AS SumOfBeløb, NavnPaaTabel.ffkat
FROM NavnPaaTabel
GROUP BY NavnPaaTabel.kd, NavnPaaTabel.ffkat;

Foresporgsel2:

SELECT Foresporgsel1.kd, Sum(Foresporgsel1.SumOfBeløb) AS Beløb, Count(Foresporgsel1.ffkat) AS CountOfffkat
FROM Foresporgsel1
GROUP BY Foresporgsel1.kd;

!~)
Avatar billede balderk Nybegynder
21. september 2007 - 15:13 #2
En præcisering:

Jeg fik vist ikke skrevet det, men jeg leder lidt efter en løsning i eet statement (bl.a. af hensyn til overskuelighed i projektet).

Det ovenstående ser ellers fint nok ud, bortset fra at den summerer på ffkat og ikke kd, men det kan vi nok godt finde ud af :)
Avatar billede Slettet bruger
21. september 2007 - 15:31 #3
Nåh ja....

SELECT Foresporgsel1.ffkat, Sum(Foresporgsel1.SumOfBeløb) AS Beløb, Count(Foresporgsel1.kd) AS CountOfkd
FROM Foresporgsel1
GROUP BY Foresporgsel1.ffkat;

Overskuelighed.. Hvis du nu giver de 2 forespørgsler navne som DistinktDeb1 og 2!~)
Avatar billede balderk Nybegynder
09. oktober 2007 - 15:49 #4
hmm - ingen andre idéer åbenbart

Du får sågu bare alle pointene så.
Avatar billede Slettet bruger
10. oktober 2007 - 10:27 #5
!~)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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