I는
jos_messages => 'MESSAGE_ID (PK)', '메시지', 'TOUSER ID를'from_user_id 'MySQL이 조인 테이블
jos_message_thread =>'PK를 thread_id ','FK 3 개 테이블 MESSAGE_ID 한 ','from_user_id ','to_user_id '
jos_users =>'USER_ID (FK) ','FIRSTNAME ','아바타 '
나는 하나 개의 결과에서 데이터를 반환하기 위해이 테이블 쿼리를 만들 필요가 데이터는 다음과 같습니다. 마지막으로 삽입 된 메시지 (jos_messages), 이름 및 아바타 of message sender (jos_users) the res
메시지 : ULT 이런 식으로 뭔가해야
FIRSTNAME "안녕하세요, 지난 삽입 님에게 메일입니다"
아바타 "ledif": "http://a.com/a.png"
내가 지금 질문 한 내용이지만 문제는 반환 된 메시지가 마지막으로 삽입 된 메시지가 아니라는 것입니다.
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
감사합니다. btw Im는 영어로 좋지 않다, Im는 나의 질문이 그렇게 분명하지 않은 것을 유감스럽게 생각한다.
message_id가 자동으로 증가합니까 ?? 그렇다면 마지막으로 삽입 된 메시지는 가장 큰 ID를 가진 사람이됩니다 –
@Hunter McMillen 예. 그것은 내가 기대하는 것이었지만 그것은 일어나지 않았습니다. – janusbalatbat
당신은 또한'ORDER BY' 문을 포함시켜야합니다. 'ORDER BY message_id DESC LIMIT 1'을 실행하면 가장 큰 ID 인 –