Сдается мне, если это счастье переписать попроще, всем станет легче... В чем задача-то?
Kidsld FDefrУченик (118)
4 года назад
Извлечь коды и названия всех блюд, для которых либо вовсе не указаны входящие в него продукты, либо указан всего один продукт, причем такой, что калорийность его ниже 50 ед. Результат упорядочить по названиям блюд.
Задание осложняется тем, что нужно писать запрос именно так, не используя конструкции UNION и JOIN.
Select x.id_dish, x.dish_name
from dish x
where x.dish_name not in
(select y.id_dish
from recipe y)
or x.id_dish in
(select z.id_dish,
count(z.id_product) as 'z.products_in_dish'
from recipe z
Group By x.id_dish
Having count(x.id_dish)=1
and 'z.id_product' in
(select a.id_product
from product a
where
a.product_calories<50))