Moje odruchowe odruchy to podzapytanie:
select count(capture_id) as count_captures,
(select count(id) as count_items
from items i where i.creator_user_id = captures.user_id) as count_items
from captures
where user_id = 9
Nie jestem do końca pewien, co możesz zrobić, aby tego uniknąć. Widzisz oczekiwane (i ogólnie pożądane zachowanie).
Oczywiście, jeśli wiesz, że identyfikatory w obu przypadkach się nie powtórzą, możesz użyć odrębnych:
SELECT COUNT( DISTINCT capture_id) as count_captures,
COUNT( DISTINCT items.id) as count_items
FROM captures
LEFT JOIN items ON captures.user_id = items.creator_user_id
WHERE user_id = 9