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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод сообщений 
:(
    Опции темы
MrDmitry
Дата 2.9.2009, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Помогите составить sql запрос выводящий все сообщения которыми обменивались 2 пользователя
PM MAIL   Вверх
Zloxa
Дата 2.9.2009, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Код

where Sender in (:user1,:user2)
      or Recipient in (:user1,:user2)



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


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


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

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



Цитата(MrDmitry @  2.9.2009,  11:14 Найти цитируемый пост)
которыми обменивались 2 пользователя 

Видимо, всё-таки AND




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

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


Чо?
****


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

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



Цитата(Akina @  2.9.2009,  10:41 Найти цитируемый пост)
Видимо, всё-таки AND

Да, спасибо, исправляюсь:
Код

where Sender in (:user1,:user2)
      and Recipient in (:user1,:user2)



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


Опытный
**


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

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



написал так 
Код

SELECT m.id, u.name,u.lastname,m.recipient_id as speaker,m.date_send as date,m.theme,m.message,m.state
             FROM messages m,users u WHERE u.id='.$id_send.' and m.recipient_id='.$id_send.' 



где $id_send id пользователя

Правильно?
PM MAIL   Вверх
Zloxa
Дата 2.9.2009, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(MrDmitry @  2.9.2009,  11:22 Найти цитируемый пост)
Правильно? 

нет. так Вы получаете только список сообщений адресованных одному пользователю


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


Опытный
**


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

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



хм 

Код

SELECT m.id, u.name,u.lastname,m.recipient_id as speaker,m.date_send as date,m.theme,m.message,m.state
             FROM messages m,users u WHERE u.id=:user_id and m.recipient_id='.$id_send.' 


:user_id наш пользователь $id_send другой пользователь
Значит так?? 
PM MAIL   Вверх
Akina
Дата 2.9.2009, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Нет, так будут получены все сообщения, отправленные юзеру id_send, и с какого-то боку примазанные к ним данные юзера user_id - таблицы-то ты не связал.


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

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


Опытный
**


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

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



сорри я плохо знаю sql 
а как правильно составить запрос? ((
PM MAIL   Вверх
Zloxa
Дата 2.9.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(MrDmitry @  2.9.2009,  12:11 Найти цитируемый пост)
как правильно составить запрос? 

так


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


Опытный
**


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

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



блин ну не в какую у меня этот запрос не дается (((
PM MAIL   Вверх
MrDmitry
Дата 3.9.2009, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



пишу так ни чего не выводится ((
Код


SELECT m.message, u.id as speaker, u.name, u.lastname, m.date_send 
             FROM messages m, users u WHERE m.user_id in (:user_id, '.$id_send.') AND
             m.recipient_id in (:user_id, '.$id_send.')

PM MAIL   Вверх
Gluttton
Дата 3.9.2009, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


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

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



Цитата(MrDmitry @  2.9.2009,  23:54 Найти цитируемый пост)
блин ну не в какую у меня этот запрос не дается (((


Цитата(MrDmitry @  3.9.2009,  01:52 Найти цитируемый пост)
пишу так ни чего не выводится ((


При составлении запросов, когда полученый результат отличается от ожидаемого, бывает очень полезно (с целью отладки) изменять (в частности уменьшат) критерии выбора. Т.е. если вообще ничего не отображается, я бы рекомендовал (из личного опыта) убрать, сначала, все, а потом по очереди по одному критерии из предлолжения WHERE ... Отображенные при этом результаты, очень часто, помагают понять что "не работает" в составляемом запросе...


--------------------
Слава Україні!
PM MAIL   Вверх
MrDmitry
Дата 3.9.2009, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



да ###

Код

where Sender in (:user1,:user2)
      and Recipient in (:user1,:user2)


Sender - таблица с отпровителями 
У меня это m.user_id
Recipient -  таблица с получателями у меня это m.Recipient_id
user1: user2 - получатель отправитель

со знанием всего этого напрашивается следующий вопрос

Код

SELECT m.message, u.id as speaker, u.name, u.lastname, m.date_send 
             FROM messages m, users u WHERE m.user_id in (:user_id, m.recipinet_id) AND
             m.recipient_id in (:user_id, m.user_id)


но такой запрос тоже не верен (((((((((

Это сообщение отредактировал(а) MrDmitry - 3.9.2009, 13:01
PM MAIL   Вверх
Akina
Дата 3.9.2009, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Конечно неверен. Где связь таблиц messages и users?


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

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


 




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


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

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