Avatar billede wzarlon Nybegynder
18. februar 2001 - 15:00 Der er 11 kommentarer og
1 løsning

Count

Jeg har en db med 2 tabeller..
-Brugere.
-Indlæg.

Hvor jeg skal have et output der siger.
Hent alle brugere i Brugere.
Ved hver bruger, skal den \"tælle\" antal records i Indlæg som er = Indlægid AND thread_id = 0

jeg har siddet med grå hår hele natten, og kan ikke få det til at fungere..
Jeg kunne sagtens paste noget af mit kode..Men det vil der nok blive grint mere af, end det kan bruges til noget
Avatar billede brain Nybegynder
18. februar 2001 - 15:02 #1
jeg giver det lige 10 minutter...
Avatar billede brain Nybegynder
18. februar 2001 - 15:08 #2
altså: Den skal tælle alle de indlæg brugerne har lavet med thread_id = 0, er det korrekt?
Avatar billede wzarlon Nybegynder
18. februar 2001 - 15:09 #3
netop..
Avatar billede brain Nybegynder
18. februar 2001 - 15:12 #4
select a.navn as navn, Count(*) as nof from brugere a, indlaeg b where a.id=b.bruger_id and b.thread_id = 0 group by a.navn;
Avatar billede brain Nybegynder
18. februar 2001 - 15:13 #5
10 minutter og 11 sekunder. Kend dig selv ;-)
Avatar billede wzarlon Nybegynder
18. februar 2001 - 15:22 #6
Jeg får denne fejl:Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression \'username\' as part of an aggregate function.

/poetry/forfattere.asp, line 7

Sorry Brain...Men jeg er sku en klud til dette
Avatar billede wzarlon Nybegynder
18. februar 2001 - 15:26 #7
sql=\"select a.username as username, Count(*) as nof from brugere a, indlaeg b where a.id=b.indlaegid and b.thread_id = 0 group by a.navn;\"
rs.open sql,conn
\'if no messages in forum
if rs.eof and rs.bof then
    response.write \"Ingen forfattere\"
else
    \'grab all records
    dim id,username
    do while not rs.eof
    id=rs(\"user_id\")
    navn=rs(\"username\")
    response.write \"<tr><td width=\'80\' colspan=1>\"
    response.write \"<a href=\'list.asp?fid=\" & id & \"\' STYLE=\'font-family: Tahoma; font-size: 11px; text-decoration: none; font-weight: bold; color: 000000;\'>\" & navn & \"</a>\"
    response.write \"</td>\"
    rs.movenext
    loop
response.write \"</tr></td>\"
end if
response.write \"</table><br>\"
Avatar billede wzarlon Nybegynder
18. februar 2001 - 15:29 #8
ja..nu kluder jeg i det igen..fik ikke min count med..
Output tabellen skal være så der står:

Bruger      Antal indlæg
--------------------------
thomas        16
Claus          8

osv.
Avatar billede brain Nybegynder
18. februar 2001 - 15:53 #9
prøv

sql=\"select a.username as user, Count(*) as nof from brugere a, indlaeg b where a.id=b.indlaegid and b.thread_id = 0 group by a.username;\"

og længere nede...

navn = rs(\"user\")

istedet for

navn = rs(\"username\")
Avatar billede brain Nybegynder
18. februar 2001 - 15:55 #10
det kræver at tabellen \"brugere\" har felterne username og id

og indlaegid i tabellen indlaeg = id på den user der har lagt indlaeget...

 
Avatar billede brain Nybegynder
18. februar 2001 - 16:08 #11
id=rs(\"user_id\") du heller ikke, hvis du vil have den med må du udvide SQL\'en til

sql=\"select a.username as user, a.user_id as uid, Count(*) as nof from brugere a, indlaeg b where a.id=b.indlaegid and b.thread_id = 0 group by a.username;\"

og bruge id=rs(\"uid\") i stedet
Avatar billede wzarlon Nybegynder
18. februar 2001 - 16:54 #12
Udemærket... Der er lidt jeg kan forsøge mig med..
Jeg kigger på det når jeg kommer hjem igen senere
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