webForumDet fria alternativet

TOP 10 + Count()

Databaser & SQLur Databashanterare & SQL

4 svar · 263 visningar · startad av firstchoice

firstchoiceMedlem sedan okt. 2001615 inlägg
#1

[kod]
select TOP 10 CountComment, *, (SELECT Count(*) As CountComment from tblPictureComment WHERE tblPictureComment.PictureCommentPictureId = tblPicture.PictureId) from tblPicture
[kod]

vad kan vara fel??

har alltså en tabell med massa "bilder" och en tabell med kommentarer till dessa bilder, med då en koppling via ett ID
vill nu alltså få fram de tio bilder som har flest kommentarer

har jag rört till det?

LarsGMedlem sedan dec. 200012 464 inlägg
#2
 select TOP 10   
  (SELECT Count(*) 
      from tblPictureComment pc
   WHERE pc.PictureCommentPictureId = p.PictureId) as cc,
 p.*
from tblPicture as p
order by 1 desc
firstchoiceMedlem sedan okt. 2001615 inlägg
#3

funkar inte =(
loopar fram alla posterna, samt cc blir till 0 i alla posterna

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Då finns det inga poster som uppfyller villkoret

WHERE pc.PictureCommentPictureId = p.PictureId

använder du rätt kolumnnamn?

firstchoiceMedlem sedan okt. 2001615 inlägg
#5

något måste bli fel, eftersom den inte loopar ut just den posten som har en kommentar, förtillfället är det bara en post...

135 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
133 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)