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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сложный запрос (поиск по разным параметрам) 
V
    Опции темы
DenWPF
Дата 5.10.2010, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Надо сделать поиск все сообщения в базе.
все сообщения хранятся в одной таблице.

структура:
id \ from_id(ид из таблицы Персона) \ to_id (ид из таблицы Персона)    \title\text\send_date(дата отправки)\receive_date (дата получения)

таблица Персона содержит стандартные поля для человека такие как mail, login.

есть запрос

Код

SELECT Messages.id as id, (SELECT CONCAT( Person.lastname, ' ', Person.name, ' ', Person.surname ) 
FROM Person 
WHERE Person.id = Messages.from_id) as name_from, Messages.to_id as name_to,
 Messages.title as title, Messages.text as text, Messages.send_date as send_date, Messages.receive_date as receive_date
FROM Messages


он достанет все письма.


теперь надо что бы можно было произвести поиск сразу:


от: логин, мыло
кому: логин, мыло

вот есть такой запрос

Код

SELECT Messages.id as id, Messages.from_id as name_from, Messages.to_id as name_to, Messages.title as title, Messages.text as text, 
Messages.send_date as send_date, Messages.receive_date as receive_date
FROM Messages
INNER JOIN Person p ON p.id = Messages.from_id  or p.id = Messages.to_id
 WHERE p.login LIKE @loginTo and p.mail like @emailTo



он достанет всех с таким мылом и логином (от и кому) надо тут как то добавить что бы loginTo был для поля to_id а loginFrom Для from_id

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


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


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

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



DenWPF, исправьте пост, и оставьте ТОЛЬКО тексты SQL-запросов.


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

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


Эксперт
***


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

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



сделал
PM MAIL   Вверх
Zloxa
Дата 6.10.2010, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(DenWPF @  5.10.2010,  23:45 Найти цитируемый пост)
надо тут как то добавить что бы loginTo был для поля to_id а loginFrom Для from_id

Код

SELECT Messages.id as id, Messages.from_id as name_from, Messages.to_id as name_to, Messages.title as title, Messages.text as text, 
Messages.send_date as send_date, Messages.receive_date as receive_date
FROM Messages
INNER JOIN Person pfrom ON pfrom.id = Messages.from_id 
INNER JOIN Person pto ON pto.id = Messages.to_id 
 WHERE pto.login = :loginTo 
          and pfrom.login = :loginFrom



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
DenWPF
Дата 6.10.2010, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



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


 




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


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

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