Группируйте таблицы tbl_workshop
и tbl_worker
по отдельности, затем используйте LEFT JOIN
, чтобы получить результаты:
SELECT c.City,
k.Cnt AS WorkersQty,
w.Cnt AS WorkshopQry
FROM Tbl_city c
LEFT JOIN (
SELECT City, COUNT(*) Cnt
FROM tbl_worker
GROUP BY City
) k ON c.ID = k.City
LEFT JOIN (
SELECT City, COUNT(*) Cnt
FROM tbl_workshop
GROUP BY City
) w ON c.ID = w.City
Если вы хотите показать только города, в которых есть мастерские или рабочие, добавьте:
WHERE k.Cnt > 0 OR w.Cnt > 0