Mysql
一個表有兩個外鍵指向另一個表中的同一列?
我需要為 1v1 遊戲創建數據庫結構。
這是我到目前為止所設計的。
現在問題來了:我想在螢幕上顯示比賽的所有數據,但不是外鍵(player_1,player_2),而是顯示你可以在球員表中找到的球員的名字。
我嘗試使用 MySQL 連接將例如 player_1 替換為播放器的實際名稱,如下所示:
SELECT players.name player_1 FROM matches LEFT JOIN players ON player_1 = players.id
這很好用,但現在我還需要顯示第二個玩家的名字。我試圖在第一個左連接之後添加第二個左連接,但如果它是同一張表,那將不起作用。
那麼有誰知道如何做到這一點,這個設計是否有效?
您必須加入 2 個
players
表格副本。SELECT m.id, p1.name player_1, p2.name player_2 FROM matches m JOIN players p1 ON m.player_1 = p1.id JOIN players p2 ON m.player_2 = p2.id