2011-09-22 4 views
2

A_Name, B_Name 및 C_Name을 출력해야합니다. tableA, tableB, tableC에서.어떻게 연결 테이블을 기반으로 rowName을 출력합니까?

CREATE TABLE `tableLink` (
    `tableLinkID` int(5) NOT NULL auto_increment, 
    `A_ID` int(11) NOT NULL, 
    `B_ID` int(5) NOT NULL, 
    `C_ID` int(5) NOT NULL, 
    PRIMARY KEY (`tableLinkID`) 
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ; 

내 질문 : 나는 위의 예의 모든 ID의의를 포함하는 연결 테이블이 나는 방법을 선택하고 출력 A_ID의 [A_Name,이 B_ID의 할 C_ID을 필요에 따라 선택하는 방법을 알 필요가 [B_Name] 및 C_ID의 [C_Name].

충분히 명확하길 바랍니다.

사용해보십시오

답변

0

(나는 변수에 C_ID가) 조인 :

SELECT 
    tableA.A_Name, 
    tableB.B_Name, 
    tableC.C_Name 
FROM tableLink 
JOIN tableA ON tableLink.A_ID = A.ID 
JOIN tableB ON tableLink.B_ID = B.ID 
JOIN tableC ON tableLink.C_ID = C.ID 
WHERE tableLink.C_ID = 42 
+0

젠장, 난 그냥 내 A_ID가 tableLink에없는 실현, 그것의 유일한 TABLEA와 TableB의 (클라이언트에 has-> Projects). – MassiveAttack

+0

내 tableLink에 A_ID를 추가했습니다. tableA.A_Name이 tableLink에서 선택하려고합니까? – MassiveAttack

+0

구문 적으로 올바른지 확인하십시오. – MassiveAttack

관련 문제