Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
запрос из двух таблиц (alexander) 23/03/2005 - 12:05:58
      Re: запрос из двух таблиц (Валентин) 23/03/2005 - 12:32:32

> Original message text:
> From: alexander - 23/03/2005 - 12:05:58
> Subject:запрос из двух таблиц
> -----------------
> Приветствую!
> Подскажите пожалуйста..
> есть две таблицы: допустим товары и рубрики. Товары могут находиться в нескольких рубриках. И есть определнный флаг товара (но он может быть разным, в зависимости от рубрики)
> Итого три таблицы:
> 1. table items: (товары)
> id
> title
>
> 2. table groups: (рубрики)
> id
> title
>
> 3. table item_groups: (связь товар-рубрика)
> item_id
> group_id
> flag
>
> Есть необходимость выбрать товары (без учета рубрики) с сортировкой по полю flag:
>
> SELECT a.id, a.title, b.flag FROM items AS a LEFT JOIN groups AS b ON a.id = b.item.id ORDER BY b.flag, a.title;
>
> Список получается, сортируется нормально, но если товар входит в несколько рубрик, то записи в выборке повторяются (чего и следовало ожидать, т.к. в таблице item_groups значения item_id повторяются). DISTINCT на id не помогает (в этом повторяются только те записи, которые входят в несколько рубрик и у которых при этом разный flag).
>
> как избавиться от повторений? )
>
>


From: Валентин - 23/03/2005 - 12:32:32
Subject:запрос из двух таблиц
-----------------
Попробуй сгруппировать по ID товара.
SELECT a.id, a.title, b.flag
FROM items AS a
LEFT JOIN groups AS b ON a.id = b.item.id
Group By a.ID
ORDER BY b.flag, a.title;


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
20963



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |