1
我有一個足球比賽的數據庫。保存匹配的表使用外鍵來存儲團隊(分別爲team1和team2 - 主機和來賓)。我需要將結果與團隊表中的結果結合起來。在表中兩次相同的外鍵
match:
+-----------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+------------------+------+-----+---------+----------------+
| match_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| championship_id | int(10) unsigned | YES | MUL | NULL | |
| team1_id | int(10) unsigned | YES | MUL | NULL | |
| team2_id | int(10) unsigned | YES | MUL | NULL | |
| factor_1 | decimal(4,2) | YES | | NULL | |
| factor_x | decimal(4,2) | YES | | NULL | |
| factor_2 | decimal(4,2) | YES | | NULL | |
| goals_team_1 | tinyint(4) | YES | | NULL | |
| goals_team_2 | tinyint(4) | YES | | NULL | |
| match_date | date | YES | | NULL | |
+-----------------+------------------+------+-----+---------+----------------+
team:
+---------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+----------------+
| team_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(32) | YES | | NULL | |
+---------+------------------+------+-----+---------+----------------+
我的猜測是,使用此查詢,但它是無效的:
SELECT match.match_id, team.name, team.name, match.match_date
FROM `match`
INNER JOIN `team`
ON match.team1_id=team.team_id,
match.team2_id=team.team_id
使用兩個團隊而不是一個 – Ejaz
您的查詢不是無效的方式。它只會返回0行(除非你有一些團隊與自己對抗的比賽)! –