我有以下表格:
团队
+------+--------------+--------------+
| id | team_name | team_code |
+------+--------------+--------------+
| 1 | Wales | WAL |
| 2 | England | ENG |
| 3 | New Zealand | NZL |
+------+--------------+--------------+
匹配
+------+-----------+-----------+
| id | team_a | team_b |
+------+-----------+-----------+
| 1 | WAL | ENG |
| 2 | ENG | NZL |
| 3 | WAL | NZL |
+------+-----------+-----------+
我知道连接是如何工作的,但我不知道如何通过 Matched.id
查询数据库以从 中获取两个团队的团队名称团队
数据库。让我更好地解释
- 我需要为每场比赛确定球队名称
- 我将通过
Matches.id
进行查询 - 所以对于比赛:1 我需要选择“威尔士”和“英格兰”
希望我已经足够清楚地解释了我的问题,但如果还没有,请随时提出更多问题
最佳答案
数据库结构对我来说似乎“不对劲”。
您应该将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
关于mysql - 使用连接从 MySQL 数据库中选择 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483913/