2010-05-19 2 views
0

아래 쿼리는 올바르게 작동합니다. 두 개의 MySQL 테이블에서 "주석"과 "로그인"필드를 가져옵니다. 이것은 "login"테이블의 "username"이 "$ profile"변수와 같은 행에 대해 수행됩니다. 테이블 "comment"의 "loginid"가 "login"에서 가져온 "loginid"와 같은 행의 필드도 가져옵니다.두 테이블 조인 쿼리에 세 번째 테이블 추가

나는 다음과 같은 필드가라는 세 번째 테이블 "제출"에서 데이터를 가져 싶습니다

: 나는 "제출"행에서 필드를 끌어 싶습니다

submissionid loginid title url displayurl datesubmitted 

는 "은 loginid"는 동일 이미 다른 두 테이블에서 가져온 "loginid", "login"및 "comment"

어떻게하면됩니까? 사전에

감사합니다,

검색어 :

$sqlStrc = "SELECT l.username, l.loginid, c.loginid, c.commentid, c.submissionid, c.comment, c.datecommented 
       FROM comment AS c 
     INNER JOIN login AS l 
       ON c.loginid = l.loginid 
       WHERE l.username = '$profile' 
      ORDER BY c.datecommented DESC 
       LIMIT 10"; 
+1

나는 당신이 당신의 중복 유용한 질문하지만 upvote에 내 대답의 대부분을 발견보세요! http://stackoverflow.com/questions/2853318/join-with-three-tables – webbiedave

+0

안녕하세요, Dave ... 도와 주셔서 감사합니다. 그러나 제 마지막 질문에 대해서는별로 멀지 않았습니다. 제가 여기에 올리는 것은 마지막 질문을 게시하기 전에 제가 사용했던 것입니다. – John

답변

3
SELECT l.username,l.loginid,c.loginid,c.commentid,c.submissionid,c.comment, 
c.datecommented,s.submissionid,s.loginid,s.title,s.url,s.displayurl,s.datesubmitted 

FROM comment AS c 

INNER JOIN login AS l ON c.loginid = l.loginid 
INNER JOIN submission AS s ON s.loginid = l.loginid 

WHERE l.username = '$profile' 

ORDER BY c.datecommented DESC 

LIMIT 10