Задать вопрос

Как правильно составить SQL запрос для страницы?

Всем привет, нужно собрать определенные данные из нескольких таблиц, данные связаны, вот пример:

есть таблицы:
Товары:
id | name | desc | price
Рецепты:
id | name | own_id | product_use_1 | product_use_2 ... product_use_9

Комментарии:
id | product_id | comment | own_id
Пользователи:
id | name

Нужно соеденить вытащить следующие данные:

1. Есть ID товара
2. Нужно найти совпадения id в Рецептах в каком-то из 9 product_use
2.1 Достать всю информацию о рецепте.
3. Достать комментарии где product_id совпадает с ID товара
4. Достать id,name пользователя для всех комментариев к данному товару по own_id в комментарии

Надеюсь смог объяснить максимально понятно, я так понимаю тут либо JOIN запрос, но он будет очень уж сложным, либо несколько запросов к бд...

Что будет лучше и как это более правильно реализовать?
Подскажите пожалуйста, буду очень благодарен
  • Вопрос задан
  • 292 просмотра
Подписаться 3 Оценить Комментировать
Ответ пользователя kretsu К ответам на вопрос (4)
@kretsu
Немного смутила таблица "Рецепты"
Это Ваша система и база, т.е. Вы ли ее проектировали?
Просто листы так в базах обычно не делают.
Что касаемо запроса то можно начать так, чтоб получить список рецептов
SELECT DISTINCT r.*
FROM Рецепты r,
Товары t
WHERE t.id = XXXX AND( t.id = r.product_use_1 OR t.id = r. t.product_use_2 OR ........... t.id = r. t.product_use_9)

Но еще раз предлагаю по возможности пересмотреть и переделать таблицу Рецептов
Ответ написан