2011-09-22 56 views
2

我需要輸出A_Name,B_Name和C_Name。來自tableA,tableB,tableC。我有一個包含以上,例如,所有的ID的一個鏈接表:如何根據鏈接表輸出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 ; 

我的問題:我需要知道如何選擇基於具有C_ID,如何選擇和輸出A_ID的[A_Name],B_ID的[B_Name]和C_ID的[C_Name]。

我希望這已經夠清楚了。

(我有C_ID在一個變量)

回答

0

嘗試使用連接:

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,它只是在表A和tableB的(客戶端有 - >項目)。 – MassiveAttack

+0

我已將A_ID添加到我的tableLink。 tableA.A_Name是否嘗試從tableLink中選擇? – MassiveAttack

+0

只是檢查這是否在語法上正確? – MassiveAttack