Pavel6
Новичок
Правильная реализация запроса.
Помогите пожалуйста с Sql запросам.
Данный запрос работает правильно, но мне кажется что это не лучшая схема реализации его.
select feature.*,count(restaurants.id) as restaurant_count from feature Left Join keys_restaurants_feature ON keys_restaurants_feature.feature_id=feature.id Left Join keys_restaurants_kitchens ON keys_restaurants_kitchens.kitchen_id='3' Left Join restaurants ON restaurants.id=keys_restaurants_feature.restaurant_id AND restaurants.city_id='12' AND restaurants.id=keys_restaurants_kitchens.restaurant_id Group By feature.id order by feature.id asc
Запрос выведит данные из таблицы feature с бодсчетом количества данных в таблицы restaurants, т.е. сколько restaurants относится к feature.
keys_restaurants_feature хранит два поля restaurant_id - это ID ресторана из таблицы restaurants и feature_id - это ID из таблицы
feature.
также и таблица keys_restaurants_kitchens имеет два поля restaurant_id и kitchen_id
При получение результата count(restaurants.id) as restaurant_count количества, на этот результат влияет отношение к городу restaurants.city_id='12'
В общем у нас таблица feature выводит все данные, а входящие Left Join-ы для получения результата количеств ресторанов.
Помогите пожалуйста с Sql запросам.
Данный запрос работает правильно, но мне кажется что это не лучшая схема реализации его.
select feature.*,count(restaurants.id) as restaurant_count from feature Left Join keys_restaurants_feature ON keys_restaurants_feature.feature_id=feature.id Left Join keys_restaurants_kitchens ON keys_restaurants_kitchens.kitchen_id='3' Left Join restaurants ON restaurants.id=keys_restaurants_feature.restaurant_id AND restaurants.city_id='12' AND restaurants.id=keys_restaurants_kitchens.restaurant_id Group By feature.id order by feature.id asc
Запрос выведит данные из таблицы feature с бодсчетом количества данных в таблицы restaurants, т.е. сколько restaurants относится к feature.
keys_restaurants_feature хранит два поля restaurant_id - это ID ресторана из таблицы restaurants и feature_id - это ID из таблицы
feature.
также и таблица keys_restaurants_kitchens имеет два поля restaurant_id и kitchen_id
При получение результата count(restaurants.id) as restaurant_count количества, на этот результат влияет отношение к городу restaurants.city_id='12'
В общем у нас таблица feature выводит все данные, а входящие Left Join-ы для получения результата количеств ресторанов.