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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка из нескольких таблиц одним запросом. Для одного объекта данные в разных таб. 
:(
    Опции темы
butcher
Дата 10.12.2007, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем доброго времени суток. Пожалуйсто подскажите как правельно составить запрос, который бы не дублировал вывод одного и тогоже объекта. 
Суть в том что есть некий объект с единым идентификатором. Этот объект имеет категорию и под категорию, имена которых храняться в независимых таблицах. В таблице объекта только id от тех параметров. Также в незамисимой таблице относящиеся фотографии к объекту. 

Простой запрос, который удовлетворяет условия вывода.

Код

SELECT itemm.*, manuf1.name AS manuf_name, cat1.name AS cat1_name, cat2.name AS cat2_name, itemmods.* FROM _itemmain AS itemm, _manuf AS manuf1, _cat1 AS cat1, _cat2 AS cat2, _itemmods AS itemmods WHERE manuf1.id = itemm.manuf_id AND cat1.id = itemm.cat1_id AND cat2.id = itemm.cat2_id AND itemmods.item_id = itemm.item_id ORDER BY itemm.created_date DESC LIMIT 0, 30


Но как только я добовляю выборку по полям из главной таблице объекта он выводи несколько объектов.
Запись в главной таблице объектов всего одна!!!!
Вот код, который выдает множество.
Код

SELECT itemm.*, manuf1.name AS manuf_name, cat1.name AS cat1_name, cat2.name AS cat2_name, itemmods.* FROM _itemmain AS itemm, _manuf AS manuf1, _cat1 AS cat1, _cat2 AS cat2, _itemmods AS itemmods WHERE manuf1.id = itemm.manuf_id AND cat1.id = itemm.cat1_id AND cat2.id = itemm.cat2_id AND itemmods.item_id = itemm.item_id AND itemm.manuf_name LIKE '%maa%' OR itemm.item_name LIKE '%maa%' OR itemm.item_description LIKE '%maa%'ORDER BY itemm.created_date DESC LIMIT 0, 30

Происходит это из-за оператора 'OR'. Но мне необходимо использовать фильтр для 3-х полей таблицы.

Помогите составить верный запрос. С уважением Butcher.
PM MAIL   Вверх
Akina
Дата 10.12.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(butcher @  10.12.2007,  14:24 Найти цитируемый пост)
Происходит это из-за оператора 'OR'. 

Нет, это происходит из-за неправильного построения условия отбора. А оно, в свою очередь - из-за непонимания порядка выполнения операций.


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

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


Новичок



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

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



Хорошо, так каким образом мне следует выстраивать запрос?
Хотябы просто намек! Может носом в мануал, но вот на какую тему?!

Это сообщение отредактировал(а) butcher - 10.12.2007, 14:55
PM MAIL   Вверх
Akina
Дата 10.12.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Скобки расставь в условии!!!


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

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


Новичок



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

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



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


 




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


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

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