Диалоги пользователей

Ilya Ti
Дата: 18.01.2013 13:44:27
Идея вывести диалоги пользователей. Есть две таблицы:
usersmessages: id time author reciever subj message read
users: id username

Хочется вывести диалоги пользователей. Т.е. конкретному пользователю список последних сообщений с пользователями.
попробовал вывести все диалоги пользователя №3
Пока в базе есть десять записей ,где author = 3 везде, а reciever равны 7 и 2 по несколько штук.

SELECT DISTINCT (
m.reciever
), m.id, m.time, m.author, m.subj, m.message, m.pic, m.parent, m.read
FROM `usersmessages` m
LEFT JOIN `users` u ON m.reciever = u.id
WHERE m.author =3
GROUP BY m.reciever
ORDER BY m.id DESC
LIMIT 0 , 30

Получил две записи по reciever = 2 и 7 но id у них 1 и 3, а хотелось бы получить последние.
Также есть еще вопрос как получить значение где reciever равен 3 и добавить их туда же в диалоги. Возможно ли это сделать одним запросом?
tanglir
Дата: 18.01.2013 13:57:51
Ilya Ti
а хотелось бы получить последние.
http://www.sql.ru/forum/actualthread.aspx?tid=687908
и http://www.sql.ru/forum/actualthread.aspx?tid=684431 , если по несколько последних хочется.
Ilya Ti
и добавить их туда же в диалоги. Возможно ли это сделать одним запросом?
UNION ALL
Akina
Дата: 18.01.2013 16:38:49
WHERE m.author =3
OR m.reciever = 3

?
Akina
Дата: 18.01.2013 16:41:37
Ну и соответственно
ORDER BY CASE m.author WHEN 3 THEN m.reciever ELSE m.author END, m.id DESC