2013-10-30 2 views
1

두 조건을 결합나는 그들이 다음과 같다 MySQL 데이터베이스에 두 개의 테이블이 MySQL을

SELECT posts.*,users.username as poster_username FROM posts 
INNER JOIN users on posts.poster_id = users.id 
ORDER BY timestamp DESC 
LIMIT 0,10 

그러나 당신이 볼 수 있듯이 그냥 하나의 사용자 이름을 얻을 : 누가

내가이 쿼리를 사용하는 게시물)과 posted_id (포스트가 기록 된 벽의 소유자)의 이름을 썼다 게시물 er_id 거기에 동일한 inner join 문 내에 posted_id의 사용자 이름을 얻는 방법이 있습니까 ??

답변

5

당신은 두 번에 대한 사용자에 가입해야합니다 :

SELECT posts.*, 
     u1.username as poster_username, 
     u2.username as posted_username 
FROM posts 
INNER JOIN users u1 on posts.poster_id = u1.id 
INNER JOIN users u2 on posts.posted_id = u2.id 
ORDER BY timestamp DESC 
LIMIT 0,10 

유일한 요구 사항은 각 테이블에 별칭을 할당하는 것입니다

관련 문제