Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день! Имеется проблема с составлением запроса, упрощенная структура БД выглядит следующим образом:
Блюда
- dish_id
- name
Продукты
- food_id
- name
Рецепты
- dish_id
- food_id
- amount
Холодильники
- fridge_id
- food_id
Задача в следующем: необходимо максимально оптимальным способом получить список всех блюд (dish_id), которые можно приготовить используя конкретный холодильник (fridge_id).
Поскольку это MySQL, то хранимые процедуры не помогут, вот у меня возникли сомнения, что это вообще не реально реализовать только средствами СУБД, будет интересно знать ваше мнение.
Заранее спасибо!
Неактивен
Почему в MySQL хранимые процедуры не помогут?
Что-нибудь такое?
SELECT dish_id FROM
(SELECT DISTINCT dish_id FROM recipes JOIN fridges USING (food_id) WHERE fridge_id = 1)
WHERE dish_id NOT IN
(SELECT dish_id FROM recipes r LEFT JOIN fridges f ON (r.food_id = f.food_id AND fridge_id = 1)
WHERE f.food_id IS NULL)
Неактивен
Спасибо, запрос работает.
А хранимые процедуры в MySQL, насколько мне известно, не могут возвращать набор данных, который мне и нужен
Неактивен
Вам известно неправильно. Хранимые процедуры могут возвращать даже несколько
наборов данных
Неактивен