SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 26.01.2013 20:10:09

Andrew31
Участник
Зарегистрирован: 26.01.2013
Сообщений: 2

Помогите с выборкой

Таблица messages
id|for_user|to_user|message|date
1  2           3         hello       2013-01-26 17:50:52
2  3           2         hello1      2013-01-26 17:50:52
3  4           2         hello2      2013-01-26 17:50:52

Таблица users
id|name
2  name1
3  name2
4  name3

Помогите, пожалуйста, составить запрос чтобы выбрать все диалоги пользователя, отсортировать их по дате добавления сообщения.

Неактивен

 

#2 26.01.2013 20:29:23

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите с выборкой

Нужно все входящие и исходящие диалоги? Что именно выбрать?

Неактивен

 

#3 26.01.2013 20:38:14

Andrew31
Участник
Зарегистрирован: 26.01.2013
Сообщений: 2

Re: Помогите с выборкой

Список всех диалогов пользователя с последним сообщением из диалога. Как в мобильной версии Вконтакте.

Неактивен

 

#4 26.01.2013 20:43:03

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите с выборкой

SELECT m.messages,from_user.name, to_user.name FROM messages AS m JOIN user AS from_user ON m.for_user = from_user.id JOIN user AS to_user ON m.to_user = to_user.id ORDER BY date ASC;

Неактивен

 

#5 31.05.2013 22:39:49

недочет
Участник
Зарегистрирован: 31.05.2013
Сообщений: 2

Re: Помогите с выборкой

rgbeast написал:

SELECT m.messages,from_user.name, to_user.name FROM messages AS m JOIN user AS from_user ON m.for_user = from_user.id JOIN user AS to_user ON m.to_user = to_user.id ORDER BY date ASC;

Самый тупой ответ администратора, написано же:

Список всех диалогов пользователя (id=N) с последними сообщениями из диалога пользователя N

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

Нужен конкретный пользователь с id номером N. Где WHERE ??

И только не надо говорить: мы не должны читать ваши мысли. Вопрос был задан конкретно, почти внятно для понимания. Будет ли нормальный код???

замечание от модератора за нарушение правил форума

Неактивен

 

#6 31.05.2013 23:35:20

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Помогите с выборкой

С таким настроением скорее всего не будет big_smile


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#7 01.06.2013 18:12:08

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Помогите с выборкой

недочет, вам замечание за нарушение правил форума.

Эмоциональную нагруженность вы донесли, но за ней трудно разглядеть содержательную часть поста. Поверьте, мало кто будет ее рассматривать, если сохраните этот стиль по жизни. Для конкретного юзера WHERE несложно добавить:

SELECT m.messages,from_user.name, to_user.name FROM messages AS m JOIN user AS from_user ON m.for_user = from_user.id JOIN user AS to_user ON m.to_user = to_user.id WHERE from_user.id=9 OR to_user.id=9 ORDER BY date ASC;

Неактивен

 

#8 01.06.2013 21:30:46

недочет
Участник
Зарегистрирован: 31.05.2013
Сообщений: 2

Re: Помогите с выборкой

Уважаемый администратор форума rgbeast, а также его пользователи. Простите за грубый мой самый первый пост. Просто второй день ищу, а так и не могу найти подходящего мне запроса. Я просто хотел, чтоб мой пост заметили и ответили, вот пришлось так написать, чтоб получить ответ, а то не дождешься ответа.
Еще раз прошу прощения.
Кстати Ваш код не работает, потому-что

трудно разглядеть содержательную часть поста

очень жаль (( и еще сильнее жаль, что

мало кто будет ее рассматривать

. Вот и думается: зачем нужны форумы если люди друг друга не понимают? Ну да всякое бывает. С уважением: недочет...

Неактивен

 

#9 02.06.2013 01:08:00

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Помогите с выборкой

Чтобы люди друг-друга понимали нужно правильно формулировать вопрос. Мне вот не совсем понятно, что же всё-таки требуется получить, если примитивного "WHERE user ORDER BY date ASC|DESC" не достаточно. ASC|DESC написано потому, что в первом посте требуется отсортировать по дате добавления, а в следующем "с последним сообщением", а это немного разные вещи.

Итого имеем примерно такой диалог:

xxx: Когда я нажимаю ... оно не так как нужно ... а ведь раньше да ! ....
yyy: Что вы имеете ввиду ? ....
xxx: Ты тупой ?


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson