2011-02-06 6 views
18

한 쿼리에서 두 개의 내부 조인을 어떻게 preform 할 수 있습니까?두 개의 내부 조인 MYSQL

즉 : 세 개의 테이블

송장
주소
클라이언트

송장은 고객의 ID를 참조하는 열이 있습니다. 또한 주소를 참조하는 열이 있습니다. 일치하는 테이블의 클라이언트 이름과 일치하는 테이블의 주소를 모두 가져와야합니다. 어떻게하면 INNER JOIN 두 테이블을 모두 사용할 수 있습니까?
송장 행 주소 (참조 ID를 해결), 클라이언트 (참조 클라이언트 ID), ID를 가지고 있으며, 클라이언트가 행의 FIRST_NAME을 가지고 노트 나는 몇 가지 세부 사항을 추가 할 것입니다

는 ..., 주소가 행 STREET_NAME 도시가 LAST_NAME 단지 * (모든), 당신이 필요로하는 분야를 선택할

SELECT 
    c.*, i.*, a.* 
FROM 
    invoices i 
INNER JOIN 
    client c 
ON 
    i.clientid = c.clientid 
INNER JOIN 
    address a 
ON 
    a.clientid = c.clientid 
WHERE 
    i.id = 21 

당신을 잊지 마세요 :

내가 좋아하는

+0

더 많은 데이터가 필요합니다. –

답변

29

쿼리에 필요한만큼 JOIN 절을 사용할 수 있습니다. 각 테이블에는 조인 된 테이블 사이에 관련된 열을 지정하는 ON 절이 있습니다.

SELECT 
    columns 
FROM 
    invoice 
INNER JOIN 
    address 
ON 
    join_condition 
INNER JOIN 
    client 
ON 
    join_condition 
+0

감사합니다. 알아 둘만한. 감사! – Yoshiyahu

8

뭔가를 끌어해야합니다.

+0

잠시 후 작동합니까? – Yoshiyahu

+0

아, 그걸 잊어 버렸습니다. 편집을 참조하십시오. – Prisoner

+0

감사합니다. –