Используйте count (comments.code_id) и оставьте соединение, чтобы получить количество комментариев.Чтобы это работало, вам нужно сгруппировать все возвращаемые столбцы, кроме comments.code_id. Некоторые базы данных (например, MS Access) не могут группировать поля, выбранные с помощью *, поэтому вам придется выбрать их по имени, а затем включить ихв группе по.
например, если в таблице code_tags есть поля code_id и tag_id , а в таблице теги есть поля id и tag тогда он должен выглядеть следующим образом:
SELECT code.id AS codeid, code.title AS codetitle,
code.summary AS codesummary, code.author AS codeauthor,
code.rating AS rating, code.date,
code_tags.code_id, code_tags.tag_id, tags.id, tags.tag,
users.firstname AS authorname, users.id AS authorid,
GROUP_CONCAT(tags.tag SEPARATOR ', ') AS taggroup
count(comments.code_id) as NumComments
FROM
code JOIN code_tags ON code_tags.code_id = code.id
JOIN tags ON tags.id = code_tags.tag_id
JOIN users ON users.id = code.author
LEFT JOIN comments ON comments.code_id = code.id
GROUP BY code_id, codetitle, codesummary, codeauthor, rating, code.date,
code_tags.code_id, code_tags.tag_id, tags.id, tags.tagName,
authorname, authorid, taggroup
ORDER BY date DESC