@masimka

Как принято реализовывать категории производитедей с количеством товара?

Нужно вывести производителей в категории (напр. холодильник) для фильтрации товара в интернет магазине., в списке категорий должен быть производитель , и количество товара в данной категории, с данным производителем.

Как сделать вывод производителей в список для фильтра, с количеством товара?
Направшивается : только две таблицы, первая с производителями, вторая с идентификатором категории (холодильники, спорттовары.. ) и идентификатором прозводителя, и количеством товаров в данной категории. Связь один ко многим.

Или вообще одна таблица производителей с полем для категорий товара в формате json в которой указана категория |(напр холодильник, и количество).

а?
  • Вопрос задан
  • 895 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
create table categories (
  id integer primary key,
  parent integer references categories,
  name varchar(50) not null
);

create table manufacturers (
  id integer primary key,
  name varchar(30) not null
);

create table goods (
  id integer primary key,
  category integer references categories,
  manufacturer integer references manufacturers,
  name varchar(50) not null
);

select
  m.name,
  count(*) as goods_count
from goods as g
inner join manufacturers as m
  on g.manufacturer = m.id
where category = 1
group by m.name;

Живой пример в sqlfiddle
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Ошибаешься: не один-ко-многим, а многие-ко-многим. Холодильники выпускает не одна фирма. Но и фирмы выпускают не только холодильники. И потому таблиц 3: категории, производители и связь-категория-производитель. Вот эта третья таблица содержит поле кол-ва товаров.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы