Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка из двух таблиц одним запросом, По значениям из одной и выбрать из друго 
:(
    Опции темы
vxd
Дата 20.3.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.3.2006

Репутация: нет
Всего: нет



Здравствуйте! Подскажите, есть ли решение. Есть две таблицы: 

Таблица "object" 
id 
name 

Таблица "category" 
id 
obj_id 

Т.е. грубо говоря у меня есть объекты, у каждого может быть более одной категории. И это хранится в таблице "category" ввиде связи ид_объекта-ид_категории 

Как мне с помощью одного-двух запросов выбрать все объекты по id категории? Если рассуждать логически (или если делать на php), то запрос должен вытянуть все obj_id из таблицы "category" со значением id, а после этого пройтись циклом по этим obj_id и вытянуть по ним все данные из таблицы "object" Типа этого: 

Код

SELECT * FROM `object` WHERE `id`=(SELECT `obj_id` AS `id` FROM `category` WHERE `id`=ИД_НУЖНОЙ_КАТЕГОРИИ)
 

Поскольку вторая выборка возвращает массив, то это не работает smile Замечу, что объектов в искомой категории может быть очень много (50 000 и более), по этому делать цикл на php и 50к запросов - это очень не экономично.  Прошу советов, как сделать всё максимально элегантно.

Спасибо!
PM MAIL   Вверх
Akina
Дата 20.3.2008, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Код

Select o.*, c.*
From `object` o
Join `category` c
On o.id = c.obj_id



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
vxd
Дата 20.3.2008, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.3.2006

Репутация: нет
Всего: нет



Огромнейшее спасибо! Затестим  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.