Задавайте вопросы, мы ответим
Вы не зашли.
Есть таблица рецепты в которой описание, картинка итд, и есть 3 таблицы: шаги приготовления, ингридиенты, коментарии. Вопрос, можно ли это получить 1 запросом?
На выходе мне нужно так для каждого рецепта: данные самого рецепта(описание итд), потом 3 массива: все шаги, все ингредиенты, все коментарии.
Или такое не возможно(не эффективно) и нужно делать 4 запроса?
Отредактированно degressor (11.11.2010 10:49:45)
Неактивен
Можно и одним запросом:
SELECT r.*, i.*
FROM recipes r, ingredients i
WHERE r.id = i.recipe_id AND r.name = 'запеканка'.
Но, кажется, схема хранения не очень удачная — Вам никогда не понадобятся
ингридиенты сами по себе (или шаги приготовления) — только в составе рецепта.
Обычно тогда делают одно поле типа TEXT, и в нем сохраняют всю необходимую
информацию (а если хочется детализации — то в XML).
P.S. Комментарии, разумеется, добавляются людьми динамически, поэтому их
имеет смысл хранить отдельно
Неактивен
Спасибо за ответ. Сохранили ингредиенты отдельно ,так как по ним искать собираемся, ну скажем задаю я сколько чего у меня есть а мне рецепт находится под это.
Делал с join всех 4х таблиц и в конце писал goup by, пролбема в том, что я получаю в ответе все варианты склейки этих таблиц.
Неактивен
Пример запроса приведите?
Неактивен