Avatar billede cdc Novice
26. maj 2005 - 11:19 Der er 27 kommentarer og
1 løsning

loppe gennem db og regne sammen

Jeg er igen med at lave et lille script der skal kunne loope gennem en DB og samle alle resultater under en spiller og regne disse sammen så jeg får vist totalen.

Er det en der har et link eller et script forslag til dette ?

/cdc
Avatar billede busschou Praktikant
26. maj 2005 - 11:22 #1
Select spiller, Sum(resultat) From tabel Group By resultat
Avatar billede busschou Praktikant
26. maj 2005 - 11:22 #2
vrøvl
Select spiller, Sum(resultat) From tabel Group By spiller
Avatar billede busschou Praktikant
26. maj 2005 - 11:23 #3
Resultatet af den sql skulle gerne være en liste med to felter, spilleren samt summen af spillerens resultater
Avatar billede busschou Praktikant
26. maj 2005 - 11:26 #4
altså
sql = "Select spiller, Sum(resultat) As total From tabel Group By spiller"
set rs=conn.execute(sql)
do while not rs.eof
response.write "Spiller : " & rs("spiller") &"har total på : " &rs("total")
rs.movenext
loop
Avatar billede cdc Novice
26. maj 2005 - 11:34 #5
min db mestår bl.a af tabellerne medlnr resultat

De spiller flere matche gennem hele sæsonen. alle resultater skal så regnes sammen.

mine kolonner i spilledage tabellen ser således ud.

id - 8
starttid - 15:48
gruppe - A
mdlnr - 8906
hcp - 2,6
spillernavn - Freddy
kat - 2
resultat - 10

( er vandret )

Kat= soretering efter hvilken dato de spiller. Dvs alle spilledage har forskellige Kat nr.

tabellen ovenover er for kat 2, dvs start 2 i år den 28 april 2005
kat 3 er start tre den 12 maj 2005 i år.

DB består af to tabeller:

kat
spilledage

den jeg skal have er at den looper hele db igennem og ser på alle spillere med mdlnr (medlemsnummer ) f.eks 8906 og resultaterne for perioden og regner dem sammen til en total.

/cdc

ps: spørg hvis jeg forklarer mig lidt kryptisk
Avatar billede cdc Novice
26. maj 2005 - 11:36 #6
min db mestår bl.a af ---fejl---tabellerne ---( kolonnerne ) medlnr resultat
Avatar billede cdc Novice
26. maj 2005 - 11:37 #7
tester lige det du skriver
Avatar billede busschou Praktikant
26. maj 2005 - 11:38 #8
Det må jo så være
Select Sum(resultat) As total From spilledage Where mdlnr = 8906
Avatar billede cdc Novice
26. maj 2005 - 11:43 #9
nu er det jo en masse spillere med forskellige medlnr = 8906 er bare en af dem. Alle har forskellige numre, de er ca. 30 spillere
Avatar billede busschou Praktikant
26. maj 2005 - 11:45 #10
Hvis du vil have dem alle så
---
sql = "Select spillernavn, Sum(resultat) As total From spilledage Group By mdlnr"
set rs=conn.execute(sql)
do while not rs.eof
response.write "Spiller : " & rs("spillernavn") &"har total på : " &rs("total")
rs.movenext
loop
---
Hvis du vil have en må det være
Select Sum(resultat) As total From spilledage Where mdlnr = 8906 Group By mdlnr
Avatar billede cdc Novice
26. maj 2005 - 11:46 #11
fik denne på din første:

Microsoft JET Database Engine error '80040e14'

Syntax error in FROM clause.

resultat_totalliste.asp, line 3
Avatar billede busschou Praktikant
26. maj 2005 - 11:47 #12
Avatar billede cdc Novice
26. maj 2005 - 11:54 #13
så er jeg ved at finde ud af det, vender lige tilbage, men smid lige et svar :o)

/cdc
Avatar billede busschou Praktikant
26. maj 2005 - 11:55 #14
oki doki :o)
Det skal nok komme til at virke ;o)
Avatar billede cdc Novice
26. maj 2005 - 12:06 #15
Når jeg bruger din sidste, men vil have vist mdlr, spillernavn, gruppe og totalen hvordan skrives dette ind i response.write delen.

har lavet denne, response.write "Spiller : " & rs("spillernavn") &"har total på : " &rs("total")&"<br>"

og så skulle den helst laven en group/order by gruppe, total ??

synes ikke lige jeg kan smide " & rs("gruppe") &" ind da jeg for en fejl
Avatar billede busschou Praktikant
26. maj 2005 - 12:10 #16
hvis du vil have gruppen med skal den jo også med i din sql
sql = "Select gruppe, spillernavn, Sum(resultat) As total From spilledage Group By mdlnr Order By gruppe"
tror det er sådan du mener?
Avatar billede busschou Praktikant
26. maj 2005 - 12:11 #17
hvis både gruppe og total så
sql = "Select gruppe, spillernavn, Sum(resultat) As total From spilledage Group By mdlnr Order By gruppe,total"
Avatar billede cdc Novice
26. maj 2005 - 12:16 #18
kan man lave den således at den laver en order by total faldene
så det samlede resultat vises med den der har flest points vises øverst ?
Avatar billede cdc Novice
26. maj 2005 - 12:17 #19
sorry så ikke den sidste tester lige
Avatar billede busschou Praktikant
26. maj 2005 - 12:19 #20
du kan prøve lege lidt med det
Du kan også tilføje Asc og Desc afhængig af hvilken vej den skal sorter
fx
sql = "Select gruppe, spillernavn, Sum(resultat) As total From spilledage Group By mdlnr Order By gruppe Asc,total Desc"
Avatar billede cdc Novice
26. maj 2005 - 12:20 #21
You tried to execute a query that does not include the specified expression 'gruppe' as part of an aggregate function.
Avatar billede busschou Praktikant
26. maj 2005 - 12:23 #22
hvad er det for en som gør det?
Avatar billede cdc Novice
26. maj 2005 - 12:25 #23
Group By mdlnr Order By gruppe Asc,total Desc"
Avatar billede busschou Praktikant
26. maj 2005 - 12:30 #24
prøv putte dem ind under group by
sql = "Select gruppe, spillernavn, Sum(resultat) As total From spilledage Group By mdlnr, gruppe, total"
Jeg er ikke sikker ...men prøv ad
Avatar billede cdc Novice
26. maj 2005 - 12:46 #25
No value given for one or more required parameters.

resultat_totalliste.asp, line 3
Avatar billede cdc Novice
26. maj 2005 - 12:49 #26
nor jeg sletter total i; By mdlnr, gruppe, total" er den fin nok
Avatar billede busschou Praktikant
26. maj 2005 - 12:52 #27
hmm jeg kan ikke huske præcis hvorfor det er at den gør det pjat der. Det er noget med at når man bruger en funktion som Sum så skal feltet i Group By og ikke Order By ... eller også er det omvendt..og så de andre felter med :o/
Jeg skal desværre også ud af døren :o(
Men jeg håber du kan prøve dig lidt frem og finder ud af det
Avatar billede cdc Novice
26. maj 2005 - 12:56 #28
oki
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
Kurser inden for grundlæggende programmering

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