MySQL: SELECT and JOIN with not exists values?
Change AND c.tar_id = 87 to WHERE c.tar_id = 87.

Your soultion would work only if it was an INNER JOIN instead.
With LEFT JOIN it works different. The filter is applied for the join predicate and the result is different.