У меня сейчас есть следующее:
Столовый городок:
Стол Поставщик:
Приведенный ниже запрос возвращает количество поставщиков для каждого города:
SELECT t.id, t.name, count(s.id) as NumSupplier
FROM Town t
INNER JOIN Suppliers s ON s.town_id = t.id
GROUP BY t.id, t.name
Теперь я хочу представить еще одну таблицу в запросе, Supplier_vehicles. У поставщика может быть много транспортных средств:
Стол Поставщика_автомобили:
- ID
- supplier_id
- vehicle_id
Теперь в поле NumSupplier необходимо вернуть количество поставщиков для каждого города, у которых есть любой из указанных vehicle_id (условие IN):
Следующий запрос просто вернет поставщиков, у которых есть любой из указанных vehicle_id:
SELECT * FROM Supplier s, Supplier_vehicles v WHERE s.id = v.supplier_id AND v.vehicle_id IN (1, 4, 6)
Мне нужно интегрировать это в первый запрос, чтобы он возвращал количество поставщиков, у которых есть любой из указанных vehicle_id.