по хорошему, тебе надо три таблицы
1. Названий рецептов
2. состав рецептов
3. товаров.
во всех таблицах должно быть автоинкрементное числовое поле id
и именно по этому полю, а не по названию продукта, таблицы и должны между собой связываться.
затем делается запрос с объединением.
объединение - это что-то похожее на твой недозапрос. то есть, то, что у тебя не работает - это, собственно, ЧАСТЬ запроса, делающего выборку из двух таблиц.
Вот это будет правильная структура.
и она позволит тебе посчитать всё вообще в одном -едснственном запросе.
Но я даже не знаю, с какой стороны подступиться, чтобы начать тебе объяснять про объединение таблиц в запросах.