You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SQL关联表获取比赛表中主队与客队的排名及分差?

问题:同时获取比赛表中客队与主队的排名

现有两张表:games表和standings表,需要为games表的每条记录生成包含客队排名(visitor_team_standing)、主队排名(home_team_standing)、**分差(diff)**的结果。

目前已实现的SQL语句仅能获取客队排名,无法同时关联主队排名(主队关联条件为home_team_id = team_id),当前代码如下:

SELECT
    standings.standing visitor_standings,
    games.diff
FROM games
INNER JOIN standings ON
    games.visitor_team_id = standings.team_id;

解决方案

需要两次关联standings表,通过表别名区分客队和主队的关联逻辑,示例SQL如下:

SELECT
    vis_stand.standing AS visitor_team_standing,
    home_stand.standing AS home_team_standing,
    games.diff
FROM games
INNER JOIN standings AS vis_stand 
    ON games.visitor_team_id = vis_stand.team_id
INNER JOIN standings AS home_stand 
    ON games.home_team_id = home_stand.team_id;
  • 给standings表分别设置vis_stand(对应客队排名)和home_stand(对应主队排名)两个别名,通过两次INNER JOIN分别匹配客队ID和主队ID,即可同时获取两队排名。
  • 如果存在队伍无排名的情况,可将INNER JOIN替换为LEFT JOIN,避免丢失games表中的记录。

内容的提问来源于stack exchange,提问作者DougM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 17:10:36