Avatar billede burkal Nybegynder
27. oktober 2003 - 16:17 Der er 16 kommentarer og
1 løsning

Select med sum og AS

Jeg fatter ikke hvorfor det ikke virker.

jeg har en hjemmeside hos brinkster og de har en lille SQL box der kalder op mod en Access DB. Dvs. man indtaster SQL i boxen og bliver udført på DB.

problemet er at følgende virker
select Homeside,
SUM(homepoints)
from match
Group by homeside
Order by SUM(homepoints) DESC

MEN det gør følgende ikke:
select Homeside,
SUM(homepoints) As points
from match
Group by homeside
Order by Points DESC

Det giver denne fejl:
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Jeg gætter på at det har noget med AS at gøre men vil gerne have hjælp til at løse mysteriet.
Avatar billede terry Ekspert
27. oktober 2003 - 17:27 #1
select Homeside,
SUM(homepoints) As points
from match
Group by homeside
Order by SUM(homepoints)DESC
Avatar billede terry Ekspert
27. oktober 2003 - 17:27 #2
.
Avatar billede burkal Nybegynder
27. oktober 2003 - 19:44 #3
Hvad skulle det hjælpe?
Avatar billede terry Ekspert
27. oktober 2003 - 19:48 #4
have you tried it?
Avatar billede terry Ekspert
27. oktober 2003 - 19:52 #5
this works (directly from Access)

SELECT match.homeside, Sum(match.homepoints) AS points
FROM [match]
GROUP BY match.homeside
ORDER BY Sum(match.homepoints);
Avatar billede terry Ekspert
27. oktober 2003 - 19:54 #6
this does too

SELECT homeside, Sum(homepoints) AS points
FROM match
GROUP BY homeside
ORDER BY Sum(homepoints);
Avatar billede terry Ekspert
27. oktober 2003 - 19:54 #7
this DOES NOT WORK

SELECT homeside, Sum(homepoints) AS points
FROM match
GROUP BY homeside
ORDER BY points
Avatar billede terry Ekspert
27. oktober 2003 - 19:56 #8
so I suggest you try my anwer!

The reason why you get the error

"Too few parameters. Expected 1."

is becuase it is looking for "points" in ORDER BY points

that is why I changed it to
Order by SUM(homepoints)DESC
Avatar billede terry Ekspert
27. oktober 2003 - 19:57 #9
and just to make sure, there should be a space before DESC

Order by SUM(homepoints) DESC
Avatar billede terry Ekspert
27. oktober 2003 - 19:58 #10
So here is the correct solution

SELECT homeside, Sum(homepoints) AS points
FROM match
GROUP BY homeside
ORDER BY Sum(homepoints) DESC;
Avatar billede terry Ekspert
27. oktober 2003 - 19:59 #11
actually not much different to my first answer :o)
Avatar billede burkal Nybegynder
27. oktober 2003 - 20:15 #12
Men det er heller ikke ret meget forskelligt fra det jeg selv har fået til at virke. Hvorfor skulle man skrive 'AS points' hvis man ikke bruger det "Alias" til noget. Grunden til jeg gerne vil kalde kolonnen points er fordi jeg skal kunne kalde den i et ASP-recordset og det kan jeg ikke ved at skrive rs("Sum(homepoints)), men hvis kolonnen defineres som (AS) points kan jeg bruge det i mit recordset.
Avatar billede terry Ekspert
27. oktober 2003 - 20:25 #13
first, I placed an answer to the problem with the code you were having problems with NOT the code you were NOT haing problems with!

If you use this

SELECT homeside, Sum(homepoints) AS points
FROM match
GROUP BY homeside
ORDER BY Sum(homepoints) DESC;

You will have a two fields in your recordset, homeside and points

This line
ORDER BY Sum(homepoints) DESC;

is ONLY used to sort the result, nothing else. The name you want to use in your recordset WILL BE points.
Avatar billede burkal Nybegynder
27. oktober 2003 - 20:27 #14
ok jeg checker lige
Avatar billede terry Ekspert
27. oktober 2003 - 20:28 #15
I also use

as points in my answer! The only difference is the last line which was causing the error!
Avatar billede burkal Nybegynder
27. oktober 2003 - 20:30 #16
Du har ret. Jeg bøjer mig i støvet. Sorry I ever doubted you :o)
Avatar billede terry Ekspert
27. oktober 2003 - 20:32 #17
no problem, we got there in the end :o)

og tak!
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