Hej, Hej. Löste det så här:problem med SQL-sats
har följande SQL-sats
<code>
SELECT b.iBlogID, b.iUserID, b.sBlogSubject, b.sBlogText, b.bComments, b.dDateTime, u.sUsername, COUNT(c.iCommentID) AS iCC
FROM tblblogs AS b, tblcomments AS c
LEFT JOIN tblusers AS u ON b.iUserID=u.iUserID
WHERE b.bPosted='true' AND b.iUserID=1
GROUP BY b.iBlogID
ORDER BY b.dDateTime DESC
LIMIT 0,8
</code>
Den kommer då att lista alla poster som finns i tabellen tblblogs och som uppfyller kraven i WHERE-satsen, problemet ligger i att om det inte finns några poster i tabellen tblcomments så kommer det inte att viasas NÅGON post från tblblogs, men bara det finns minst en så visas posterna i tblblogs.
Ett annat problem är att iCC alltid räknar alla poster i tblcomments, jag skulle vilja att den bara räknade posterna som hör ihop med just den posten från tblblogs, b.iBLogID och c.iBlogID ska alltså vara lika...
Hoppas ni fattar vad jag menar...
SQL-satsen används tillsammans med ASP kopplad till en mySQL db på en Win2000 Pro burk med IIS5.
Tack på förhand!Sv: problem med SQL-sats
Du har inte joinat b med c och i det här fallet gissar jag att du ska göra en outer join.
Med andra ord, visa alla poster i b och de poster som existerar i c för ett iBlogID.
Om du gör detta så tror jag att problem två löser sig automatiskt.
/UffeSv: problem med SQL-sats
<code>
SELECT b.iBlogID, b.iUserID, b.sBlogSubject, b.sBlogText, b.bComments, b.dDateTime, u.sUsername, COUNT(c.iCommentID) AS iCC
FROM tblblogs AS b
LEFT JOIN tblusers AS u ON b.iUserID=u.iUserID
LEFT JOIN tblcomments AS c ON c.iBlogID=b.iBlogID
WHERE b.bPosted='true' AND b.iUserID=1
GROUP BY b.iBlogID
ORDER BY b.dDateTime DESC
LIMIT 0,8</code>
Och det ger precis det resultat jag vill ha, sen kan man säkert potmiera det lite...