13. juli 2004 - 17:26
Der er
20 kommentarer og 1 løsning
Brug af count
Hvordan : optælle antal "id" hvor "id" = "gruppenr" fra en anden tabel`??
Annonceindlæg fra Deloitte
Kan du forklare lidt mere omkring det? Men det kan måske løses med en join: SQL = "select count(t1.id) as antal from t1 inner join t2 on t1.id=t2.gruppenr"
HUH? Har en tabel "gruppe" og en table der hedder "traad" Jeg vil gerne tælle de poster i traad hvor "id" = "gruppe.gruppenr"
som eagle skriver: SQL = "select count(traad.id) as antal from traad inner join gruppe on traad.id=gruppe.gruppenr"
Så prøv sådan her: SQL = "select count(traad.id) as antal, traad.id from traad inner join gruppe on traad.id=gruppe.gruppenr group by traad.id"
så får du et antal for hver ID som der er tråde i.
Jepz... præcis... hvordan udskriver jeg den ? Er det ikke antal ?
SQL = "select count(traad.id) as antal, traad.id from traad inner join gruppe on traad.id=gruppe.gruppenr group by traad.id" Set rs=Conn.Execute(SQL) do while not rs.EOF Response.Write rs("id") & " antal poster " & rs("antal") & "<br>" rs.Movenext loop
Microsoft JET Database Engine error '80040e10' Der er ikke angivet nogen værdi for en eller flere krævede parametre.
Prøv at tjekke at tabel og kolonnenavne er rigtige.
13. juli 2004 - 18:06
#10
Okay... det var lidt forkert... min fejl, men det hjalp ikke... SQL = "select count(traad.id) as antal, traad.gruppe from traad inner join gruppe on traad.gruppe=gruppe.id group by traad.gruppe" Får den her... Microsoft JET Database Engine error '80004005' Type mismatch in expression. /go1/forum.asp, line 28 28: Set rs=Myconn.Execute(SQL)
13. juli 2004 - 18:09
#11
Så tyder det på at kolonnen traad.gruppe og kolonne gruppe.id ikke begge er af samme type, hvis gruppe.id er af typen autonummer eller tal skal traad.gruppe være af typen tal.
13. juli 2004 - 18:29
#12
Der kommer lidt... Men det er det samme tal der står ved de to "testgrupper" jeg har... Der står "2" hvilket der også er i den første gruppe, men anden gruppe har flere tråde... ? <% while NOT data.EOF %> <% SQL = "select count(traad.gruppe) as antal, traad.gruppe from traad inner join gruppe on traad.gruppe=gruppe.id group by traad.gruppe" Set rs=Myconn.Execute(SQL) %> <div class="grupper"><a href="forumtraad.asp?gruppenr=<%=data("id")%>&gruppenavn=<% = data.Fields ("navn")%>"><% = data.Fields ("navn")%></a></div> <br/> <% Response.Write " antal poster " & rs("antal") & "<br>" %> <% data.MoveNext Wend %> Resultat : Test gruppe 1 antal poster 2 Vi prøver noget med Poker eller noget… antal poster 2
13. juli 2004 - 18:59
#13
Anything ? Jeg ka' ikke få det igang ;)
13. juli 2004 - 19:25
#14
Fordi der ikke er nogen sammenhæng imellem de to recordset du bruger. Så skal du lave SQL sætningen om sådan den kun tæller for den du vil udskrive, sådan her: SQL = "select count(traad.gruppe) as antal, traad.gruppe from traad inner join gruppe on traad.gruppe=gruppe.id where gruppe.id = " &data ("id")
13. juli 2004 - 19:31
#15
Microsoft JET Database Engine error '80040e21' You tried to execute a query that does not include the specified expression 'gruppe' as part of an aggregate function. /go1/forum.asp, line 28 28: Set rs=Myconn.Execute(SQL)
13. juli 2004 - 19:34
#16
Ok det skal være traad.gruppe ok ikke gruppe.id, prøv sådan her SQL = "select count(traad.gruppe) as antal, traad.gruppe from traad inner join gruppe on traad.gruppe=gruppe.id where traad.gruppe = " &data ("id")
13. juli 2004 - 19:36
#17
Microsoft JET Database Engine error '80040e21' You tried to execute a query that does not include the specified expression 'gruppe' as part of an aggregate function. /go1/forum.asp, line 28 Still ...
13. juli 2004 - 19:44
#18
prøv lige sådan her: SQL = "select count(traad.gruppe) as antal from traad inner join gruppe on traad.gruppe=gruppe.id where traad.gruppe = " &data ("id")
13. juli 2004 - 19:46
#19
Så kører det sQ *GG* Tusind tak for hjælpen... smid lige et svar...
13. juli 2004 - 19:46
#20
... og så lige lidt oven i hatten ;)
13. juli 2004 - 19:56
#21
Ok het et svar :)
Kurser inden for grundlæggende programmering