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




MySQL.RU - Webboard



Вернуться
Тяжеловесный запрос... (DeMx) 06/11/2006 - 21:53:21
      Re: Тяжеловесный запрос... (MasterZiv) 16/11/2006 - 12:10:52

> Original message text:
> From: DeMx - 06/11/2006 - 21:53:21
> Subject:Тяжеловесный запрос...
> -----------------
> Есть две таблицы. Скажем, такие:
>
> main
> id
> login
> comment
>
> email
> id
> url
> email
>
> Постараюсь описать задачу...
>
> Берем login из таблицы main и смотрим, есть ли там символ '@'. Если он есть, то сравниваем login с email из таблицы email. Все найденные совпадения добавляем к результату (т.е. плюсуем к main.id, main.login и main.comment еще и все поля таблицы email, но при этом, объединив их в одно, скажем email).
>
> Если '@' в login нет и, соответственно, никаких совпадений между login и email нету, то берем id из таблицы main и сравниваем с одноименным полем из таблицы email. Есть тут есть совпадения, то все их, так же, добавляем к результату (объединив в одно поле - email).
>
> Если вообще никаких совпадений нет, то такую запись выводить не нужно.
>
> Вот такая хрень.
>
> Проблема у меня в том, что в email могут быть найдены несколько совпадений и вот как их в одном запросе прилепить к результату - я не знаю.
>
> Т.е. результат может быть таким:
>
> ------------------------------------------------------------------------
> | id | login | comment | email |
> ------------------------------------------------------------------------
> | 1 | demx | bla-bla-bla | 3 http://www.site.com demx@yahoo.com |
> | 2 | rob | tra-la-la | 4 http://www.site.ru robby@lebedev.ru |
> | | | | 6 http://www.site.ws robby@gmail.com |
> ------------------------------------------------------------------------
>
> Как видите, у юзера rob найдено 2 мыла... И такую ситуацию надо учитывать.
>
> Как бы это реализовать попроще? Я уже сделал нечто похожее... но средствами PHP, т.е в цикле перебирал (получилось дохера запросов), что, разумеется, не эффективно.
> Да и задачи мои не совсем корректно исполняет. =(
>


From: MasterZiv - 16/11/2006 - 12:10:52
Subject:Тяжеловесный запрос...
-----------------
Не нужно в одно поле запихивать несколько значений. Это неправильно (нарушение первой нормальной формы, если вам это поможет осознать неправильность).


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

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

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



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