繁体   English   中英

根据特定条件查询Join 2表

[英]Query Join 2 tables based on specific conditions

我有 2 个 MYSQL 表。

我的2张表以简单的方式第一个表存储对话,第二个表将与对话相关的消息存储在第一个表中,我需要编写一个查询来查看第一个表中的每个对话,并且仅查看最后收到的消息(顺序by msg_time)来自第二个表。

我试过这个,它有效,但给出了第二个表中最旧的消息:

$query = "SELECT * FROM tbl_conversations inner JOIN 
tbl_messages ON tbl_messages.convers_id = tbl_conversations.id 
GROUP BY id ORDER BY tbl_messages.msg_time DESC";

而且我还需要在顶部显示最新消息的对话,我的意思是根据他们最后一条消息的时间显示对话。 谢谢您的支持。

我认为你会得到ambiguous错误,因为group by id必须像这样写tbl_conversations.id

$query = "SELECT * FROM tbl_conversations inner JOIN 
tbl_messages ON tbl_messages.convers_id = tbl_conversations.id 
GROUP BY tbl_conversations.id  ORDER BY tbl_messages.msg_time DESC";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM