Avatar billede mvk Nybegynder
25. februar 2004 - 13:27 Der er 16 kommentarer og
1 løsning

Count SQL virker ikke

hvorfor fejler dette recordset:

SELECT Answer, COUNT(Answer) As Votes
FROM results
WHERE pollID = MMColParam GROUP BY Answer

kan jeg lave en DISTINCT COUNT ? ala:
COUNT DISTINCT Answer As Votes
Avatar billede fennec Nybegynder
25. februar 2004 - 13:42 #1
hvad er MMColParam?
Avatar billede mvk Nybegynder
25. februar 2004 - 13:43 #2
MMColParam = Request.Querystring("IDpoll")
Avatar billede mvk Nybegynder
25. februar 2004 - 13:44 #3
Syntax error missing operator in query expression - får jeg
Avatar billede mvk Nybegynder
25. februar 2004 - 13:48 #4
SELECT Answer, COUNT (DISTINCT (Answer)) AS AnswerTotal
FROM results
WHERE pollID = MMColParam GROUP BY Answer

virker heller ikke
Avatar billede fennec Nybegynder
25. februar 2004 - 14:01 #5
prøv lige at skrive din sql ud inden du bruger den. Så kan man gerne se fejlen. Det lader til at din Request.Querystring("IDpoll") er tom.

response.write "SELECT Answer, COUNT(Answer) As Votes FROM results WHERE pollID = MMColParam GROUP BY Answer"
Avatar billede fennec Nybegynder
25. februar 2004 - 14:02 #6
det skal selvfølgelig være:
response.write "SELECT Answer, COUNT(Answer) As Votes FROM results WHERE pollID = "& MMColParam &" GROUP BY Answer"
Avatar billede mvk Nybegynder
25. februar 2004 - 14:06 #7
Avatar billede fennec Nybegynder
25. februar 2004 - 14:10 #8
din Request.Querystring("IDpoll") er tom, hvorfor der ikke er noget at sammenligne med. Det betyder selvfølgelig at sql'en fejler.

WHERE pollID = (her mangler en værdi) GROUP BY Answer
Avatar billede mvk Nybegynder
25. februar 2004 - 14:24 #9
nej den kører som den skal... den henviser til IDpoll=4

<%
Dim rsResults__MMColParam
rsResults__MMColParam = "%"
If (Request.Querystring("IDpoll") <> "") Then
  rsResults__MMColParam = Request.Querystring("IDpoll")
End If
%>
<%
Dim rsResults
Dim rsResults_numRows

Set rsResults = Server.CreateObject("ADODB.Recordset")
rsResults.ActiveConnection = MM_gutternes_STRING
rsResults.Source = "SELECT Answer, COUNT (Answer) AS TotalAnswer  FROM results  WHERE pollID = " + Replace(rsResults__MMColParam, "'", "''") + "  GROUP BY Answer"
rsResults.CursorType = 0
rsResults.CursorLocation = 2
rsResults.LockType = 1
rsResults.Open()

rsResults_numRows = 0
%>
Avatar billede fennec Nybegynder
25. februar 2004 - 14:29 #10
rsResults.Source = "SELECT Answer, COUNT (Answer) AS TotalAnswer  FROM results  WHERE pollID = " & Replace(rsResults__MMColParam, "'", "''") & "  GROUP BY Answer"

det skal være & ikke +
Avatar billede hossein Nybegynder
25. februar 2004 - 15:50 #11
Hvis du bruger msAccess er svaret: nej du kan ikke anvende count(distinct XXX).
Men en løsning kan være; at du laver i selve access en query med distinct (queryen navn gives YY) også fra asp siden kalder du den og bruger count().
select count(feltnavn) from YY
Avatar billede mvk Nybegynder
02. marts 2004 - 09:26 #12
kan jeg virkelig spørge efter en query lavet i access fra asp i dreamweaver ?
Avatar billede mvk Nybegynder
10. marts 2004 - 09:32 #13
det kan jeg ikke finde ud af - men i må gerne smide et svar så jeg kan dele point mellem jer
Avatar billede fennec Nybegynder
10. marts 2004 - 09:39 #14
ok, men det er ikke fedt, når du ikke har fået det til at virke.....
Avatar billede mvk Nybegynder
11. marts 2004 - 10:57 #15
hehe - fandt sku selv ud af det. det må være en første gang - voldfedt
er det ok hvis man så giver sig selv point ?
Avatar billede fennec Nybegynder
11. marts 2004 - 10:59 #16
selvfølgelig er det det, hvis man selv har løst problemet....
Avatar billede mvk Nybegynder
11. marts 2004 - 11:01 #17
oki :) - thankz
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