Как получить записи из первой таблицы по вхождениям вторую в третей MySQL?
Имеется 3 таблицы
recipes
id | user_id | name
-----------------------
1 | 2 | Recipe 1
2 | 2 | Recipe 2
8 | 2 | Recipe 8
9 | 2 | Recipe 9
flavour_recipe
id | recipe_id | flavour_id
---------------------------
1 | 1 | 11
2 | 1 | 38
3 | 2 | 23
4 | 2 | 137
5 | 2 | 204
...
flavour_user
id | user_id | flavour_id
---------------------------
1 | 2 | 11
2 | 2 | 15
3 | 2 | 23
4 | 2 | 38
5 | 2 | 137
6 | 2 | 204
7 | 2 | 247
select recipe_id, GROUP_CONCAT(flavour_id) AS flavour_ids from flavour_recipe group by recipe_id
Использую
GROUP_CONCAT
для наглядности, просто чтобы показать чего я хочу добиться.
recipe_id | flavour_ids
---------------------------
1 | 11,38
2 | 23,137,204,274
8 | 254,251,122,45
9 | 165,254,251
select user_id, GROUP_CONCAT(flavour_id) AS flavour_ids from flavour_user where user_id = '2' group by user_id limit 1
user_id | flavour_ids
---------------------
2 | 11,15,23,38,
| 137,204,274
Нужно нужно получить только те рецепты на которые есть ингридиенты у юзера то есть все flavour_recipe.flavour_ids во flavour_user.flavour_ids. То есть, судя по примеру, должны быть получены рецепты c id 1, 2.