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...
Annonceindlæg fra Computerworld it-jobbank
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
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
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
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;
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)
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser