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




MySQL.RU - Webboard



Вернуться
Помогите со сложным SQL-запросом с вложенными (Руслан) 21/03/2007 - 19:19:03
      Re: Помогите со сложным SQL-запросом с вложенными (AXAE) 21/03/2007 - 21:14:59

> Original message text:
> From: Руслан - 21/03/2007 - 19:19:03
> Subject:Помогите со сложным SQL-запросом с вложенными
> -----------------
> У меня 4 таблицы, примерно такой структуры
>
> 1. Objects
> kod_obj | name_obj
> 01 квартира
> 02 дом
> 03 оффис
>
> 2. characteristics
> kod_char | name_char | type_value
> 01 кол комнат константа
> 02 состояние список
> 03 стоимость константа
> 04 тип стен список
>
> 3. Obj_Har (принадлежность хириктеристик объектам)
> kod_obj | kod_char | value
> 01 01 4
> 01 02 хорошее
> 02 03 22000
> 02 01 2
>
> 4. char_values
> kod_char | values
> 02 хорошее
> 02 удовлетв
> 02 снос
> 04 кирпич
> 04 монолит
>
> Я никак не могу написать SQL запрос для поиска удовлетворяющего запросу объекта
> например найти след. объект:
> квартира, кол комнат=2, состояние=хорошее, стоимость=1000, тип стен=кирпич
>
> Благодарю всех за ответы!
>


From: AXAE - 21/03/2007 - 21:14:59
Subject:Помогите со сложным SQL-запросом с вложенными
-----------------
Здесь не нужны вложенные запросы
Просто нарисуй что-то вроде

SELECT * FROM <Твои таблицы, связанные через INNER JOIN>
WHERE квартира
AND кол комнат=2
AND состояние=хорошее
AND стоимость=1000
AND тип стен=кирпич

Если не очень понимаешь, что значит связанные через INNER JOIN, то можешь после FROM перечислить таблицы через запятую, а в выражении после WHERE дополнительно через AND добавить соответствия своих таблиц (ну типа например пара из таких выражений я так понял будет characteristics.kod_char=char_values.kod_char AND Objects.kod_obj=Obj_Har.kod_obj)

Полюбуйся в SQL-билдере на результат... А потом поставь в запросе перед SELECT слово EXPLAIN и запусти запрос еще раз... И вновь оцени результат - везде ли есть нужные индексы :-D


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

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

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



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