@murakas
Программист

Как выбрать все блюда, состоящие только из муки, яиц и сахара?

Есть Блюда и список Ингредиентов к ним (связь N к N). Как выбрать все блюда, состоящие только из муки, яиц и сахара?
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Собрать все ингредиенты в одну строку и сравнить её со списком. LISTAGG.

SELECT dish_name FROM dish
  JOIN dish_ingredients …
  JOIN ingredients …
  GROUP BY dish_name
  HAVING ( LISTAGG( UPPER( ingredient_description ), ',' ) 
           WITHIN GROUP ( ORDER BY ingredient_description )) = 'МУКА,САХАР,ЯЙЦО'


у вас список слов должен быть обязательно в алфавитном порядке

SELECT UPPER( LISTAGG( Name, ',' )) FROM
( SELECT 'мука' AS Name FROM dual
UNION
SELECT 'яйцо' FROM dual
UNION
SELECT 'сахар' FROM dual
ORDER BY 1 )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы