01. oktober 2004 - 01:02Der er
5 kommentarer og 1 løsning
Select og count
Hejsa Jeg skal bruge lidt hjælp med nedenståene kode Jeg skal have den til at udskrive nyhederne fra news tabellen i databasen og samtidig tælle antal kommentarer fra kommentar tabellen til hver nyhed. Den udskriver slet ingen poster. Skal man flette det sammen til en sætning eller hvordan gør man her? Eller er det et andet sted problemet ligger?
countSQL = "SELECT Count(kommentar.news_id) as antal FROM kommentar INNER JOIN news ON kommentar.news_id = news.id group by kommentar.news_id"
selectnewskat = Request.QueryString("newskat") if selectnewskat = "pct" then sql ="Select * from news where newskat in ('pct','alle') order by dato desc Limit 0,"& antalnews & "" elseif selectnewskat = "lasercut" then sql ="Select * from news where newskat in ('lasercut','alle') order by dato desc Limit 0,"& antalnews & "" else sql ="Select * from news order by dato desc Limit 0,"& antalnews & ""
End if Set rs = Conn.Execute(sql) Set countRs = Conn.Execute(countSQL) If countRs("antal") = "" then countRs("antal") = "Ingen" End if
<% Dim selectnewskat Dim newskat Dim antalnews If Request.Cookies("user")("antalnews") = 0 then antalnews = 5 else antalnews = Request.Cookies("user")("antalnews") End if
countSQL = "SELECT Count(news_id) as antal FROM kommentar Left outer JOIN news ON kommentar.news_id = news.id group by kommentar.news_id" Set countRs = Conn.Execute(countSQL) If countRs("antal") = "" then countRs("antal") = "Ingen" End if
selectnewskat = Request.QueryString("newskat") if selectnewskat = "pct" then sql ="Select * from news,kommentar where newskat in ('pct','alle') order by dato desc Limit 0,"& antalnews & "" elseif selectnewskat = "lasercut" then sql ="Select * from news,kommentar where newskat in ('lasercut','alle') order by dato desc Limit 0,"& antalnews & "" else sql ="Select * from news,kommentar order by dato desc Limit 0,"& antalnews & ""
For det første skal du have byttet om på tabellerne i din select. Det er ikke uvæsenligt, hvordan de står, når du bruger LEFT JOIN. Også tror jeg nok også at group by skal være anderledes.
countSQL = "SELECT Count(kommentar.news_id) as antal FROM news LEFT JOIN kommentar ON news.id = kommentar.news_id group by news_id"
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.