TOP 10 + Count()

Databaser & SQL

4 svar · 278 visningar · startad av firstchoice

Medlem sedan okt. 2001615 inlägg
Trådstart#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?

Medlem 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
Medlem sedan okt. 2001615 inlägg
#3

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

Medlem 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?

Medlem 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...

246 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)