Prawdą jest, że nie możesz użyć tej samej tabeli, z której chcesz usunąć wiersze w bezpośredniej podselekcji, ale z małą sztuczką - podselekcji w podselekcji jako tabeli pochodnej - możesz to zrobić:
DELETE FROM votes
WHERE id IN (
SELECT
t.id
FROM (
SELECT v.id, COUNT(c.comment) cnt
FROM votes v
LEFT JOIN comments c ON f.id = v.post_id
GROUP BY v.id
HAVING COUNT(c.comment) = 0
) t
);
Zakładam, że wiersze bez komentarzy powinny zostać usunięte.