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;
Ein paar Notizen. Ich war mir nicht sicher, was der zweite linke Join auf comment_likers bewirken sollte (derjenige, der $usrID verwendet). Sind Sie nur an Likes zu einem bestimmten Thema von einem bestimmten Benutzer interessiert?
Sie könnten auch darüber nachdenken, das Schema für Kommentare created
zu ändern ein datetime anstelle eines varchar sein.