簡體   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