Avatar billede Karalumpas Praktikant
23. december 2004 - 03:22 Der er 1 kommentar

Select og count udfra resultat

Jeg har en side hvor man vælger en kategori og får dermed vist nyhederne fra den kategori + en anden. På siden skal også vises antal kommentar til den enkelte nyhed, men den tæller helt forkert.. Den skal tælle antal kommentarer til de nyheder som man har valgt at se men det ser for mig ud som om den tæller alle kommentarer sammen. Er det en left outer join jeg skal bruge og er det sat rigtigt op? Kan det gøres på en anden måde?

selectnewskat = Request.QueryString("newskat")
if selectnewskat = "pct" then
sql ="Select * from news where newskat in ('pct','alle') order by dato desc Limit 0,"& antalnews & ""
countsql = "SELECT Count(news_id) AS antal FROM kommentar LEFT OUTER JOIN news ON kommentar.news_id = news.id WHERE komtype = 1 GROUP BY news.id"
elseif selectnewskat = "lasercut" then
sql ="Select * from news where newskat in ('lasercut','alle') order by dato desc Limit 0,"& antalnews & ""
countsql = "SELECT Count(news_id) AS antal FROM kommentar LEFT OUTER JOIN news ON kommentar.news_id = news.id WHERE komtype = 1 GROUP BY kommentar.news_id"
else
sql ="Select * from news order by dato desc Limit 0,"& antalnews & ""
countsql = "SELECT Count(news_id) AS antal FROM kommentar LEFT OUTER JOIN news ON kommentar.news_id = news.id WHERE komtype = 1 GROUP BY kommentar.news_id"
End if

Set countrs = Conn.Execute(countsql)
Set rs = Conn.Execute(sql)

Se evt. http://www.eksperten.dk/spm/545673
Det er en lidt ældre kode til siden, men fik ikke rigtig hjælp der, så nu prøver jeg lige igen. :-)
Avatar billede fennec Nybegynder
23. december 2004 - 08:18 #1
Du burde kunne lave det i EN select:

"SELECT news.id, news.title, count(kommentar.news_id) from news left join kommentar on kommentar.news_id=news.id WHERE newskat in ('pct','alle') GROUP BY news.id, news.title order by dato desc"
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

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