Есть 3 таблицы:
recipe - id, name
ингредиенты - id, name
таблица связей - recipe_ingredient (recipe_id, ingredient_id)
Как мне сделать выборку из данных таблиц, если мне нужно искать рецепт, максимально похожий к выбранным пользователем ингредиентам?
Сначала следует определиться, что вы подразумеваете под «максимально похожий к выбранным пользователем ингредиентам». Например:
Пример запроса:
SELECT
recipe_id,
COUNT(CASE
WHEN ingredient_id IN (1,2,3) -- Перечень имеющихся ингредиентов через запятую
THEN NULL
ELSE 1
END) AS ing_notfound_count,
COUNT(CASE
WHEN ingredient_id IN (1,2,3) -- Перечень имеющихся ингредиентов через запятую
THEN 1
END) AS ing_found_count
FROM recipe_ingredient
GROUP BY recipe_id
ORDER BY ing_notfound_count ASC, ing_found_count DESC;
Запрос вернет столбцы рецепт, число ингредиентов не указанных пользователем в нем и число указанных ингредиентов в нем.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Поступающие логи и таблица в MySQL в которую их необходимо записать имеют следующий вид:
Есть два EditText на активити, первый служит для вводка кол-ва штук товара, а второй для ввода кол-ва упаковокПовесил на каждый из них TextChangedListener,...
Разбиваю строку на массив слов по пробелуИ потом надо как-то задать условие, что если в слове не содержатся спецсимволы и цифры, то его плюсую...
Добрый день, пытаюсь создать тест для web уровня приложения, есть некий запрос