бренды товаров

byms

Новичок
Вообщем такая задача, есть таблица категорий category (id, name),есть таблица товаров products (id,category_id title,price), таблица брендов brands(id,title), и таблица связей между товаром и брендом(id_brand,id_product). Когда я захожу в категорию, мне нужно вывести все бренды товаров, которые относятся в этой категории без повторов,чтобы сделать дальнейшую выборку товара, как это можно реализовать.
 
Последнее редактирование:

Kotofey

FloodMaster.
Вообщем такая задача, есть таблица категорий category (id, name),есть таблица товаров products (id,category_id title,price), таблица брендов brands(id,title), и таблица связей между товаром и брендом(id_brand,id_product). Когда я захожу в категорию, мне нужно вывести все бренды товаров, которые относятся в этой категории без повторов,чтобы сделать дальнейшую выборку товара, как это можно реализовать.
Код:
SELECT brands.id, brands.title FROM category LEFT JOIN products ON products.category_id=category.id LEFT JOIN products_brands ON products_brands.id_product=products.id LEFT JOIN brands ON brands.id = product_brands.id_brand WHERE category.id = 10 GROUP BY brands.id;
Как-то так
 

byms

Новичок
то есть он вытащит все бренды без повтора? если у меня допустим есть 10 товаров одного бренда 20 другого. Запросы писать не объязательно, можно словами)
 

Kotofey

FloodMaster.
то есть он вытащит все бренды без повтора? если у меня допустим есть 10 товаров одного бренда 20 другого. Запросы писать не объязательно, можно словами)
Должен по сути, попробуй , только "products_brands" - название таблицы которое я придумал, ты не указал
товаром и брендом(id_brand,id_product)
название.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Кхм, я вот не понимаю, зачем человеку давать еду, если можно было научить его готовить. Ну да ладно.

Тему перенес в профильный раздел
 

byms

Новичок
не понил), есть 4 таблицы категории,продукты,бренды, и связь между продуктом и брендом, пятая зачем?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Kotofey, показать сразу как раз не надо, надо подсказать, что есть связи, как они реализуются, чтобы постепенно дошел до самого запроса.
 

byms

Новичок
Мне ненужно писать запросы, вот я вытаскиваю по связям бренды, я вытащу допустим 5фирм таких 10 других, как упаковать это все чтобы не повторялось, или запросом все можно сделать
 

Kotofey

FloodMaster.
В общем дальше без меня, я тут решение предоставил, на меня наехали.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
[URL='http://phpclub.ru/talk/members/byms.18376/']byms, [/URL]твоя задача решается в 1 запрос, хотя ты можешь решить ее большим числом запросов и используя php.

Если ты знаешь id категории, в которой ты находишься, то все, что тебе надо - это сделать выборку id (id товаров) из таблицы products, потом эти id (и соответствующие им id_brand) выбрать из таблицы связей бренд-товар, и полученные id_brand выбрать из брендов.

Вопросы уникальности брендов решаются либо через DISTICT, либо группировкой.
 

Kotofey

FloodMaster.
Возьми мой запрос, сообщение c0dex, и разбирай, пытайся понять.
 
Сверху