Brengsek saya adalah subquery:
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
Saya tidak begitu yakin apa yang dapat Anda lakukan untuk menghindari hal ini. Anda melihat perilaku yang diharapkan (dan umumnya diinginkan).
Tentu saja, jika Anda tahu bahwa ID di keduanya tidak akan berulang, Anda dapat menggunakan yang berbeda:
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