[英]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.