select Name, count(ItemID) as itemCount
from table1 inner join table2 on table1.ItemID = table2.id
group by Name
но мой sql-fu может быть ржавым: P
Обратите внимание, что это не даст никаких строк для Имен, где table2 не содержит совпадающих строк, поэтому itemCould всегда будет> 0