mysql查询为用户获取消息(发送或接收)

jei2mxaa  于 2021-06-25  发布在  Mysql
关注(0)|答案(0)|浏览(194)

我需要从两个表user\u table和message\u log table中获取记录,其中包含指定的user\u id最近发送或接收的消息以及发送方或接收方的用户详细信息。
用户表:
用户id |用户名称|用户档案|图片
消息日志:
msg|u id | msg|u from|u user | msg|u to|u user | msg|u message | msg|u datetime
结果应为:
用户|用户名|用户|个人资料|图片|消息| id |消息|消息|日期时间
233 | ravi |/img/img1.png | 90 | 234 | 233 |嗨,我的消息| 2018-01-08 02:02:14
235 |拉维|/img/img1.png | 90 | 235 | 234 |你好| 2018-01-05 12:02:28
230 |拉维|/img/img1.png | 90 | 230 | 234 |再见| 2018-01-05 12:02:28
我试了以下方法:

SELECT tbl_user.user_id,tbl_user.user_name,tbl_user.user_profile_pic, tbl_message_log_temp.* 
FROM tbl_user

LEFT JOIN ( 
    SELECT s1.* FROM tbl_message_log as s1 LEFT JOIN tbl_message_log AS s2 ON s1.msg_from_user_id = s2.msg_from_user_id AND s1.msg_datetime < s2.msg_datetime WHERE s2.msg_from_user_id IS NULL

    ) as tbl_message_log_temp ON (tbl_user.user_id = tbl_message_log_temp.msg_from_user_id) 
WHERE `user_id` IN (

     SELECT DISTINCT(`msg_to_user_id`) from tbl_message_log WHERE `msg_from_user_id` = 234 ORDER BY `msg_id` DESC)

但我没有收到最近的消息。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题