2017-03-03 105 views
-3

我有3個表。如何根據這種情況顯示cardNumber和相應的組。然後我可以創建一個視圖並查看卡號以及它屬於哪個組。MySQL連接多個表的列

**1.ClientCards:** 
1.1cardID 
1.2cardNumber 
1.2relCardTypeID - foreign key of 2.1cardTypeID 

**2.cardTypes:** 
2.1cardTypeID - foreign key of 3.1groupID 
2.2relParrentID 
2.2cardTypeName 

**3.cardGroups:** 
3.1groupID 
3.1groupName 
+3

有許多在StackOverflow上有關吧..更好的搜索的第一個問題如果它不可用,請在這裏發佈問題。 –

回答

0

希望你映射錯了,因爲relParrentID應該是3.1的外鍵組ID

試試這個:

SELECT cc.cardNumber, cg.groupName 
FROM ClientCards cc 
INNER JOIN cardTypes ct ON cc.relCardTypeID = ct.cardTypeID 
INNER JOIN cardgroups cg ON ct.relParrentID = cg.groupID 
+0

是的,它是我映射錯了 –

+0

希望這個查詢爲你工作 –

+0

是的,它的工作原理爲什麼使用內部連接,而不是離開連接? –

0
VIEW `card_groups` AS 
SELECT 
    `c`.`cardNumber` AS `cardNumber`, 
    `g`.`groupName` AS `groupName`, 
    `t`.`cardTypeName` AS `cardTypeName` 
FROM 
    ((`s2_1_cards` `c` 
    LEFT JOIN `fxml4_4_card_types` `t` ON ((`c`.`relCardTypeID` = `t`.`cardTypeID`))) 
    LEFT JOIN `fxml4_3_groups` `g` ON ((`g`.`groupID` = `t`.`relParrentID`))) 
+0

代碼如下所示: –