我有两张桌子,Results
还有Teams
Teams
有以下列:
team_id
team_name
Run Code Online (Sandbox Code Playgroud)
Results
有以下列:
match_id
home_team (foreign key references teams [team_id])
away_team (foreign key references teams [team_id])
score
yellow_cards
red_cards
Run Code Online (Sandbox Code Playgroud)
当我写查询时:
select team_name, score
FROM teams, results
WHERE results.home_team = teams.team_id
AND results.away_team = teams.team_id
Run Code Online (Sandbox Code Playgroud)
它会给我空集。
我对同一个表中的两个不同列使用相同的外键这一事实是否有问题?
ype*_*eᵀᴹ 10
查询结果是正确的,因为您的查询会找到所有球队和球队与自己比赛的结果 ( home_team = away_team
)。
您可能想teams
在查询中使用 2 个连接:
SELECT
home.team_name AS home_team_name,
away.team_name AS away_team_name,
r.score
FROM
results AS r
JOIN teams AS home
ON r.home_team = home.team_id
JOIN teams AS away
ON r.away_team = away.team_id ;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4270 次 |
最近记录: |