Avatar billede spritzer Nybegynder
12. marts 2004 - 16:35 Der er 20 kommentarer og
1 løsning

OPgave: Count og Sum

Hej

Jeg har to tabeller i samme database, jeg skriver ikke alle de felter der er (for der er enormt mange) Men her kommer de jeg skal bruge.

Tabel: User

Id
Fristname
Lastname
Type (Type skal være = game)


Tabel: Anmeldelser

Forfatter (users.id)
Overall


Jeg skal have lavet en oversigt der viser hvad hver anmelder – gennemsnitligt giver i karakter (feltet overall). Så jeg vil gå ud fra vi skal have en SQL med både count og sum. Den skal sorteres så dne med det højeste gennemsnit står først.

Håber der er en der kan/gider hjælpe
Avatar billede eagleeye Praktikant
12. marts 2004 - 16:52 #1
Du kan bruge Avg for gennemsnit, så prøv sådan her:

SQL = "select AVG(Anmeldelser.Overall) as karakter, User.Fristname, User.Lastname FROM user left join anmeldelser on User.id = Anmeldelser.forfatter where user.type = 'game' group by User.Fristname, User.Lastname order by AVG(Anmeldelser.Overall) DESC"
Avatar billede spritzer Nybegynder
12. marts 2004 - 17:52 #2
The connection cannot be used to perform this operation. It is either closed or invalid in this context.

???
Avatar billede eagleeye Praktikant
12. marts 2004 - 17:55 #3
Så kommer du til at vise noget kode for det har ikke noget med selve sql sætningen at gøre :)
Det er måske fordi du bruger en lukket forbindelse til databasen eller recordet.
Avatar billede spritzer Nybegynder
12. marts 2004 - 17:57 #4
HEhe har rettet det problem så kommer det næste :)

Expected end of statement

/games/stat.asp, line 13

RS_crew.open = "select AVG(Anmeldelser.Overall) as karakter, User.Fristname, User.Lastname FROM user left join anmeldelser on User.id = Anmeldelser.forfatter where user.type = 'game' group by User.Fristname, User.Lastname order by AVG(Anmeldelser.Overall) DESC"  , Conn_sites, 1, 3
Avatar billede eagleeye Praktikant
12. marts 2004 - 17:58 #5
ok :)
Der skal ikke være et = efter .Open så prøv:

RS_crew.open "select AVG(Anmeldelser.Overall) as karakter, User.Fristname, User.Lastname FROM user left join anmeldelser on User.id = Anmeldelser.forfatter where user.type = 'game' group by User.Fristname, User.Lastname order by AVG(Anmeldelser.Overall) DESC"  , Conn_sites, 1, 3
Avatar billede spritzer Nybegynder
12. marts 2004 - 18:02 #6
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/games/stat.asp, line 13
..............................................................................
har det noget at gøre med min do while not?
Avatar billede spritzer Nybegynder
12. marts 2004 - 18:05 #7
<%
Set RS_crew = Server.CreateObject("ADODB.RecordSet")
RS_crew.open "select AVG(Anmeldelser.Overall) as karakter, Users.Fristname, Users.Lastname FROM users left join anmeldelser on Users.id = Anmeldelser.forfatter where users.type = 'game' group by Users.Fristname, Users.Lastname order by AVG(Anmeldelser.Overall) DESC"  , Conn_sites, 1, 3
do while not RS_crew.eof
  strID = RS_crew("karakter")
  strFirst = RS_crew("Firstname")
  strLast = RS_crew("Lastname")
 
  response.Write("<b>" & strFirst & " " & strLast & "</b> - " & strID & " ")
  loop
  set RS_crew = nothing
%>
Avatar billede eagleeye Praktikant
12. marts 2004 - 18:10 #8
er alle kolonnenavne skrevet rigtigt?
Avatar billede spritzer Nybegynder
12. marts 2004 - 18:18 #9
Ja det skulle de være betyder STORE og små bogstaver egentligt noget?
Avatar billede eagleeye Praktikant
12. marts 2004 - 18:23 #10
Det kommer an på hvilken database det er?
Avatar billede spritzer Nybegynder
12. marts 2004 - 18:29 #11
Access :(

Personligt Forestrækker jeg MySQL med PHP, så jeg er lidt ude og "pølle" her :P
Avatar billede eagleeye Praktikant
12. marts 2004 - 18:34 #12
ok, nej så skulle der ikke være forskel på store og små bogstaver.
Avatar billede eagleeye Praktikant
12. marts 2004 - 18:37 #13
Prøv at rette den til dette:

Set RS_crew = Server.CreateObject("ADODB.RecordSet")
RS_crew.open "select AVG(Anmeldelser.Overall) as karakter, Users.Fristname, Users.Lastname FROM [users] left join anmeldelser on Users.id = Anmeldelser.forfatter where users.type = 'game' group by Users.Fristname, Users.Lastname order by AVG(Anmeldelser.Overall) DESC"  , Conn_sites, 1, 3
Avatar billede spritzer Nybegynder
12. marts 2004 - 18:44 #14
stadigt det samme

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/games/stat.asp, line 13
Avatar billede eagleeye Praktikant
12. marts 2004 - 18:53 #15
Det eneste jeg kan komme er et kolonne eller tabel som er skrevet forkert. Jeg har prøvet på min PC med samme SQL sætning og det giver ikke den fejl.
Avatar billede eagleeye Praktikant
12. marts 2004 - 18:55 #16
Er kolonne Anmeldelser.forfatter af typen tal?
Avatar billede spritzer Nybegynder
12. marts 2004 - 18:55 #17
Hvad hvis der er en skribent, som endnu ikke har skrevet en anmeldelse, eller mere end blot en... Kan det betyde noget
Avatar billede eagleeye Praktikant
12. marts 2004 - 18:56 #18
Det skulle ikke betyde noget en forfatter ikke har skrevet en artikel endnu.
Avatar billede spritzer Nybegynder
12. marts 2004 - 19:07 #19
ARGH - Kan bare ikke få det til at vide
Avatar billede eagleeye Praktikant
12. marts 2004 - 19:58 #20
var kolonne forfatter af typen tal ?
Avatar billede spritzer Nybegynder
12. marts 2004 - 20:48 #21
ja...
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