webForumDet fria alternativet

Posträknande

2 svar · 168 visningar · startad av Erik Juhlin

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#1

Går det inte att skriva så här?

sql = "SELECT *, (SELECT count(*) FROM tblPost WHERE ForumId = m.ForumId AND AnswerTo IS NULL) AS ThreadCount, [b](SELECT count(*, (SELECT * FROM tblPost WHERE AnswerTo = mc.PostId)) FROM tblPost mc WHERE ForumId = m.ForumId AND AnswerTo IS NULL) AS PostCount[/b], (SELECT MAX(PostDate) FROM tblPost WHERE ForumId = m.ForumId) AS LatestPostDate, (SELECT TOP 1 Name FROM tblPost WHERE ForumId = m.ForumId ORDER BY PostId DESC) AS LatestPostName FROM tblForum m WHERE ForumStatus = 'Show'"

Jag vill få fram hur många poster det finns i ett visst forum genom att i varje tråd kolla hur många svar det finns. Det blir inget felmeddelande nu, men PostCount blir samma som ThreadCount. :(

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Jag är förvånad över att du inte får syntaxfel på den frågan. Stämmer verkligen den biten som är fet?

Nu så vet jag inte hur din datamodell ser ut men om jag gissar lite så borde man väl kunna förenkla den


(SELECT count(*) FROM tblPost WHERE ForumId = m.ForumId) AS PostCount

------------------
essentitia preter non sans multiplicandum

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#3

Jo så kan man göra och så har jag gjort nu. Men det dåliga med det är att även svaren måste ha ett forumid. Då blir det osmidigare när man ska flytta trådar och liknande saker. :l

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)