|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
33498
|
|