0

像這樣:2外鍵引用相同的主鍵在MySQL

表 - 學生:

SID |命名

1 -----蘇珊

2 -----摩根

3 -----伊恩

4 -----詹姆斯

主關鍵= SID

其他表如下所示:

表-1朋友

friendsID | personA | personB

1 ----------- 1 ----------- 3

2 ------------ 1-- --------- 2

3 ------------- 2 ----------- 3

4 ---- --------- ------------ 3 4

其中主鍵是:friendsID,PERSONA,personB

外鍵 = PERSONA,personB這BOT h請參閱sID學生表

我想要一種查詢朋友表的方式,以便personA和personB顏色由名稱通過sID替換。我嘗試了自然連接,但只有在有一個外鍵的情況下才有效。

即即時尋找類似的東西:

friendsID | personA | personB

1 -----------蘇珊-----------伊恩

2 ------------蘇珊 - ---------摩根

3 -------------摩根-----------伊恩

4 ---- ---------伊恩------------詹姆斯

自然聯接將工作,如果我只有personB作爲列和沒有personB。出於某種原因,當我這樣做時,自然連接是巨大的: select * from朋友NATURAL JOIN學生;

請幫忙。謝謝

回答

3

您需要使用兩個連接才能完成此操作。

例如:

select f.friendsID, 
    s1.name as personA_name, 
    s2.name as personB_name 
from friends f 
    inner join student s1 on s1.sID = f.personA 
    inner join student s2 on s2.sID = f.personB 
+0

燦爛,非常感謝! – user2219032 2014-10-28 21:44:36

相關問題