Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос для выборки из двух таблиц / 3 сообщений из 3, страница 1 из 1
01.09.2013, 23:02:21
    #38383683
zemelea
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выборки из двух таблиц
Помогите пожалуйста с запросом.
В общем есть 2 таблицы. В одной хранится product_id, product_name, product_description и т.д. Вторая отвечает за принадлежность товаров из первой таблицы к категориям (содержит связку product_id -> category_id).

Сложность в том, что вторая таблица может содержать неограниченное число product_id , так как один и тот же товар может принадлежать сразу нескольким категориям. в общем нужно из этой таблицы выбрать только уникальные product_id и на основе этих данных пристыковать 1ую таблицу чтобы получилось примерно так:

product_id | category_id | product_name

Вот запрос, который выбирает для каждого товара принадлежность к одной категории с минимальным id, можно ли его модифицировать для этих целей?
Код: plsql
1.
SELECT `product_id`, MIN(`category_id`) FROM `products_to_categories` GROUP BY `product_id`
...
Рейтинг: 0 / 0
02.09.2013, 08:17:46
    #38383779
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выборки из двух таблиц
zemeleaСложность в том, что вторая таблица может содержать неограниченное число product_id , так как один и тот же товар может принадлежать сразу нескольким категориям. в общем нужно из этой таблицы выбрать только уникальные product_id и на основе этих данных пристыковать 1ую таблицу чтобы получилось примерно так:

product_id | category_id | product_nameотлично, у нас в таблице всего один продукт, принадлежащий двум категориям, сколько строк должно получиться в результате? если одна, то что должно быть во втором поле?
...
Рейтинг: 0 / 0
02.09.2013, 11:14:01
    #38383913
DV_RUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выборки из двух таблиц
zemelea,
Вопрос неясен, но для наглядности попробуйте так:

Код: sql
1.
2.
3.
4.
SELECT p.product_id, GROUP_CONCAT(pc.category_id), p.product_name 
  FROM products_to_categories pc, products p
 WHERE p.product_id = pc.product_id 
 GROUP BY pc.product_id
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос для выборки из двух таблиц / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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