我有以下表格:
小组
+------+--------------+--------------+
| id | team_name | team_code |
+------+--------------+--------------+
| 1 | Wales | WAL |
| 2 | England | ENG |
| 3 | New Zealand | NZL |
+------+--------------+--------------+
Run Code Online (Sandbox Code Playgroud)
火柴
+------+-----------+-----------+
| id | team_a | team_b |
+------+-----------+-----------+
| 1 | WAL | ENG |
| 2 | ENG | NZL |
| 3 | WAL | NZL |
+------+-----------+-----------+
Run Code Online (Sandbox Code Playgroud)
我知道联接是如何工作的,但我无法理解如何通过从数据库Matched.id中获取BOTH团队的团队名称来Teams查询数据库.让我解释一下
Matches.id希望我已经清楚地解释了我的问题,但如果我没有请随意提出更多问题
数据库结构似乎对我"不合适".
你应该有两个team_a,并team_b为外键的Teams表的主键.
然后,您可以加入ID(两次)以获取全名.
比赛:
+------+-----------+-----------+
| id | team_a | team_b |
+------+-----------+-----------+
| 1 | 1 | 2 |
| 2 | 2 | 3 |
| 3 | 1 | 3 |
+------+-----------+-----------+
SELECT T1.team_name, T2.team_name
FROM Matches M
INNER JOIN Teams T1
ON M.team_a = T1.id
INNER JOIN Teams T2
ON M.team_b = T2.id
WHERE M.id = 1
Run Code Online (Sandbox Code Playgroud)