Мне нужно запросить базу данных, соединив две таблицы.Вот что у меня есть:
Таблица города:
Таблица поставщиков:
В настоящее время у меня есть следующий запрос, который выводит все города, принадлежащие данномурегион:
SELECT id, name FROM Town WHERE region = 'North West';
Теперь мне нужно расширить этот запрос и создать еще два запроса следующим образом:
Вывести количество поставщиков для каждого города
Вывод только тех городов, в которых есть 1 или более поставщиков
Я использую PHP для своих сценариев, если это поможет.Я знаю, что могу получить эти данные с помощью PHP, но с точки зрения производительности, вероятно, будет лучше, если это будет сделано в MySQL.
РЕДАКТИРОВАТЬ (27/07/10):
Теперь мне нужно расширить этот последний раз - есть еще одна таблица с именем Supplier_vehicles:
- id
- supplier_id
- vehicle_id
У поставщика может быть много поставщиков.Счетчик (в данном случае NumSupplier) должен содержать общее количество поставщиков в данном городе, у которых есть любой из указанных vehicle_id (условие IN):
SELECT * FROM Supplier s, Supplier_vehicles v WHERE s.id = v.supplier_id AND v.vehicle_id IN (1, 4, 6)
Необходимо интегрировать вышеуказанный запрос всуществующий запрос JOIN.