powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SET или связанная таблица?
10 сообщений из 10, страница 1 из 1
SET или связанная таблица?
    #39045454
XaHyMaH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот в чём вопрос. Есть таблица товаров. Каждый товар может быть в одном или нескольких городах.
Как лучше организовать связь товары <-> города? Сделать таблицу городов и таблицу индексов или добавить столбец SET с перечнем городов?
Изменение списока городов будет весьма редкой операцией.
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39045457
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XaHyMaHСделать таблицу городов и таблицу индексовИменно так. Заодно в таблице-связке можно будет хранить дополнительную информацию, например, количество этого товара в этом городе. Или дату последнего завоза. Или еще что-то...
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39045636
XaHyMaH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как в таком случае можно будет сделать выборку нескольких товаров с указанием города, где есть этот товар?
Чтобы получить список вида:
- Товар1: Город1, Город2, Город312
- Товар2: Город17
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39045677
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XaHyMaHА как в таком случае можно будет сделать выборку нескольких товаров с указанием города, где есть этот товар?
Чтобы получить список вида:
- Товар1: Город1, Город2, Город312
- Товар2: Город17

такую выборку лучше вообще не получать.
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39045691
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XaHyMaHА как в таком случае можно будет сделать выборку нескольких товаров с указанием города, где есть этот товар?
Чтобы получить список вида:
- Товар1: Город1, Город2, Город312
- Товар2: Город17
Учите матчасть. В частности, GROUP_CONCAT().
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39046085
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XaHyMaHА как в таком случае можно будет сделать выборку нескольких товаров с указанием города, где есть этот товар?
Чтобы получить список вида:
- Товар1: Город1, Город2, Город312
- Товар2: Город17Если "Город1, Город2, Город312" - это разные поля, то динамическим запросом. Если одно поле, то GROUP_CONCAT().
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39046887
XaHyMaH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно.

А что будет быстрее?
Сперва выбрать все города в массив на ПХП, потом выбрать товары и индексы городов и вывести всё через подстановку Город[Индекс] в ПХП.

Или.

Соорудить выборку сразу из трёх таблиц с двумя левыми джойнами?

SELECT tov.id, tov.name, GROUP_CONCAT( DISTINCT gorod.name
ORDER BY gorod.name ) AS glist
FROM `tov`
LEFT JOIN cross_tovar_gorod ON tov.id = cross_tovar_gorod.tovid
LEFT JOIN gorod ON gorod.id = cross_tovar_gorod.gorid
GROUP BY tov.id
ORDER BY tov.id
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39046914
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XaHyMaHСоорудить выборку сразу из трёх таблиц с двумя левыми джойнами?

SELECT tov.id, tov.name, GROUP_CONCAT( DISTINCT gorod.name
ORDER BY gorod.name ) AS glist
FROM `tov`
LEFT JOIN cross_tovar_gorod ON tov.id = cross_tovar_gorod.tovid
LEFT JOIN gorod ON gorod.id = cross_tovar_gorod.gorid
GROUP BY tov.id
ORDER BY tov.idИменно так. Только DISTINCT непонятно зачем, по идее там дублей быть не должно.
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39046955
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XaHyMaHА что будет быстрее?
Что быстрее - поручить бухгалтеру принести справку по платежам или поручить ему притащить книгу продаж и составлять эту справку самому?
...
Рейтинг: 0 / 0
SET или связанная таблица?
    #39047032
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в БД как и в жизни.... зависит от мозгов бухгалтера и количества папок в книге продаж ))) иногда проще и самому притащить и состряпать...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SET или связанная таблица?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]