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




MySQL.RU - Webboard



Вернуться
Объединение трех таблиц, помогите с запросом (Ser G) 01/05/2008 - 08:02:49



From: Ser G - 01/05/2008 - 08:02:49
Subject:Объединение трех таблиц, помогите с запросом
-----------------
Сразу оговорюсь, с sql редко имею дело, возможно, задача простая.

Есть таблица объектов table. Организуется сложный каталог объектов, причем один объект может быть помещен в несколько разделов каталога. Для хранения соответствий «раздел каталога – объект» создается таблица categories_table, содержащая записи вида category_id, object_id (отношение «многие ко многим»). Соответственно, чтоб извлечь все объекты из какого-то раздела каталога, применяем объединение таблиц:

SELECT category_id, table.* FROM categories_table LEFT OUTER JOIN table ON categories_table.object_id=table.id WHERE category_id=...

Однако, есть еще один признак, по которому можно классифицировать объекты, создавая аналогичный каталог. В итоге получем вторую таблицу соответствий «раздел каталога 2 – объект» - categories_table_2, содержащую записи вида category_id_2, object_id. Соответственно, чтоб извлечь все объекты из какого-то раздела каталога по второму признаку, применяем объединение таблиц:

SELECT category_id_2, table.* FROM categories_table_2 LEFT OUTER JOIN table ON categories_table_2.object_id=table.id WHERE category_id_2=...

Вопрос: как отобрать объекты сразу по двум признакам (category_id, category_id_2), т.е. те, для которых и в categories_table, и в categories_table_2 существуют соответствующие записи. Понимаю, что нужно объединять три таблицы, но как именно, голова не варит :(


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

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

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



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