Het is waar dat je niet dezelfde tabel kunt gebruiken waaruit je rijen wilt verwijderen in een directe subselect, maar met een klein trucje - een subselect op een subselect als afgeleide tabel - kun je het doen:
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
);
Ik neem aan dat de rijen zonder commentaar verwijderd moeten worden.