SELECT comments.comment_id, comments.descr, comments.created, usrs.usr_name,
(SELECT COUNT(*) FROM comment_likers WHERE comment_id=comments.comment_id AND liker=1)likes,
(SELECT COUNT(*) FROM comment_likers WHERE comment_id=comments.comment_id AND liker=0)dislikes
liker
FROM comments
INNER JOIN usrs ON ( comments.usr_id = usrs.usr_id )
LEFT JOIN comment_likers ON ( comments.comment_id = comment_likers.comment_id
AND comment_likers.usr_id = $usrID )
WHERE comments.topic_id=$tpcID
ORDER BY comments.created DESC;
Een paar aantekeningen. Ik wist niet zo zeker wat de tweede overgebleven join op comment_likers moest bereiken (die met $usrID). Ben je alleen geïnteresseerd in vind-ik-leuks van een specifiek onderwerp van een specifieke gebruiker?
Je zou ook kunnen overwegen om het schema te wijzigen voor opmerkingen die created
een datetime zijn in plaats van een varchar.