【发布时间】:2017-12-28 20:47:30
【问题描述】:
我的问题是this 帖子的延续。
在那里,您可能已经注意到标记为已回答的查询并没有真正输出消息正文本身。
就我而言,我需要的是输出一个 WhatsApp 风格的“聊天”视图。
这个查询几乎解决了它:
SELECT T1.user2_id, users.userName, users.ava, max(cdate) maxDate FROM
(SELECT user_to user2_id, max(msg_time) cdate
FROM chat WHERE user_from=:id
GROUP BY user_to
union distinct
(SELECT user_from user2_id, max(msg_time) cdate
FROM chat WHERE user_to = :id
GROUP BY user_from)) T1
inner join users on (users.userID = T1.user2_id)
group by T1.user2_id
order by maxDate desc
但剩下的未解决的事情是:如果我只是将 msg('msg' 包含实际消息,并且是表 'chat' 中的一列)添加到每个 SELECT 中,则查询会选择错误消息。虽然我理解为什么会发生这种情况,但我无法真正让它发挥应有的作用。感谢您的建议!
【问题讨论】: