2013-07-23 6 views
0
SELECT * FROM(
SELECT c_id, user_id, message, state, time FROM message 
WHERE receive=1 
ORDER BY message_id DESC 
)AS t GROUP BY c_id 

나는 마지막 사용자 메시지를 가져올 수있다.주문 및 그룹에 가입 테이블에 의해

LEFT JOIN user ON user.user_id=message.user_id 

어떻게 이것을 달성하기 위해

그러나 나는 사용자 테이블에 가입해야합니다, 그래서 내가 보낸 사람의 이름을 가져올 수 있습니까?

//user 
user_id name 

//conversation 
c_id user_id 

//message 
m_id c_id user_id(sender) receive message state time 

답변

1
SELECT * FROM (
    SELECT c_id, user_id, message, state, time 
    FROM message 
    WHERE receive=1 
    ORDER BY message_id DESC) AS t 
LEFT JOIN user ON user.user_id=t.user_id 
GROUP BY c_id 

P.S. user.user_id가 있는지 확인하십시오.

+0

와우! IT가 작동합니다!, 드디어, 하루 종일되었습니다! 고마워요! – user2178521