Avatar billede kimjdoek Nybegynder
12. marts 2003 - 14:17 Der er 7 kommentarer og
1 løsning

SUM problem Aggregate fkt...

Hej,

Jeg har en tabel Person, og en tabel Møde

jeg vil så gerne have vist for hver person den samlede tid for hans møder...
hvad jeg har foreløbigt:

SELECT DISTINCT Navn,
DateDiff("n",[StartTid],[SlutTid]) AS Tid,
SUM(Tid)
Where.....

men når jeg tilføjer SUM(Tid), kommer en fejl fra Acces,
Navn is not part of an aggregate funktion, hvad det så end betyder..

er der nogen der har en ide til hvordan jeg lige kringler den??
Jeg har også prøvet at sætte hele SUM(DateDiff....) virker heller ikke...
12. marts 2003 - 14:20 #1
Du kan altid splitte det op i 2 forespørgsler - én hvor du først finder datediff og dernæst én hvor du summer op.

Dette letter også ofte både forståelsen og performance
Avatar billede kimjdoek Nybegynder
12. marts 2003 - 14:24 #2
Nu lyder jeg nok som lidt en nybegynder.. hvilket jeg også er hehe

Skal jeg lave en Subquery noget i stil med
SELECT DISTINCT Navn,
SUM(SELECT DateDiff("n",[StartTid],[SlutTid]) AS Tid FROM ...)
12. marts 2003 - 14:27 #3
Arbejder du i Access eller i f.eks. ASP?

Hvis det bar er Access, så lave du bare din første query:
SELECT DISTINCT Navn,
DateDiff("n",[StartTid],[SlutTid]) AS Tid
From Tabel
Where.....

Denne gemmer du (lad os kalde den Qry1)

Den næste query ser således ud:
SELECT Navn, Sum(Tid)
From Qry1
Group by Navn
Avatar billede kimjdoek Nybegynder
12. marts 2003 - 14:43 #4
Hehe, ja nu tror jeg vi nærmer os..

det du har foreslået virker skam som det skal, men jeg har et lille problem..

I min første Qry har jeg 2 ting mere (som jeg ikke nævnte før.. troede det var underordnet)i min SELECT, og disse skulle jeg jo gerne have med ud..

Kan man så lave en "sammenslåning af de 2 qry's jeg nu har lavet??
sådan så jeg får ALT fra de 2 Select sætninger??

P.s Du skal selvfølgelig nok få point....
12. marts 2003 - 14:46 #5
Jamen, så skal den første SQL bare se sådan ud:
SELECT DISTINCT Navn, Felt2, felt3, DateDiff("n",[StartTid],[SlutTid]) AS Tid
From Tabel
Where.....

Anden query skal se således ud:
SELECT Navn, Felt2, Felt3, Sum(Tid)
From Qry1
Group by Navn, Felt2, felt3
Avatar billede kimjdoek Nybegynder
12. marts 2003 - 14:49 #6
Nevermind jeg har fundet løsningen..
Ny qry...
SELECT DISTINCT qr1.[Navn], Møde_Længde, By, Tid
FROM qr1 INNER JOIN qr2 ON qr1.Navn = Qr2.Navn;
Avatar billede kimjdoek Nybegynder
12. marts 2003 - 14:50 #7
Sjovt du siger det, men så skriver den igen en fejl, med at xxx is not part of an aggregate funktion........

men som jeg skrev ovenfor så virker det ihvertfald..
12. marts 2003 - 14:51 #8
hmm, det er svært at overskue, når man ikke har alle oplysninger til rådighed :o)

Men tak for point :o)
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