Iは、
jos_messages => 'MESSAGE_ID(PK)'、 'メッセージ'、 'TOUSER IDを' from_user_id 'MySQLがテーブルに参加
jos_message_thread => 'PKをthread_idを'、' FK 3つのテーブルMESSAGE_IDました」、 '私は1つの結果のデータを返すために、このテーブルでクエリを作成する必要がありto_user_id '
jos_users => 'USER_ID(FK)'、 'ファーストネーム'、 'アバター'
'、' from_user_id 、データは次のとおりです。 メッセージの送信者(jos_users)の最後のメッセージ(jos_messages)、ファーストネームおよびアバター
メッセージ:
FIRSTNAME "こんにちは、これは最後に挿入messsageです":
"ledif" アバター: "http://a.com/a.png" ULTは、このようなものでなければなりません私は今この質問をしていますが、問題は返されたメッセージが最後に挿入されたメッセージではないことです。
SELECT jmt.from_user_id, jm.message, ju.firstname, ju.avatar
FROM jos_messages_thread AS jmt
LEFT JOIN jos_messages AS jm ON jm.message_id = jmt.message_id
LEFT JOIN jos_comprofiler AS ju ON ju.user_id = jmt.from_user_id
WHERE jmt.to_user_id ='$user_id'
AND jmt.thread_owner ='$user_id'
GROUP BY jmt.from_user_id
左側の結合クエリの途中でjm.message_idをORDERする方法はありますか?
LEFT JOIN jos_messages AS jm ON jm.message_id = (LAST INSERTED) jmt.message_id
ありがとうございます。私の質問があまり明確でないならば、私は英語でうまくいきません。
message_idは自動的にインクリメントされますか?もしそうなら、最後に挿入されたメッセージは、最も大きなIDを持つものになります –
@ハンターマクミレンええそうです。それは私が期待していたものでしたが、それは起こりませんでした。 – janusbalatbat
あなたは 'ORDER BY'ステートメントも含める必要があります。あなたが最大のidを与える 'ORDER BY message_id DESC LIMIT 1'を実行する場合 –