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

MySQL跨表获取ID详情:match_world与teams_world关联查询问题排查

问题排查与修正方案

原SQL的核心问题

  • 连接逻辑错误:你用AND同时要求m.id_domicile = t.id_equipe和m.id_exterieur = t.id_equipe,但单条球队数据的id_equipe不可能同时等于两个不同的球队ID,这条条件永远无法匹配到有效数据。
  • 字段选择错误:你查询的是id_domicile和id_exterieur(球队ID),但需求是获取球队名称,应该选择teams_world表中的名称字段(假设字段名为nom_equipe,可根据实际表结构调整)。

修正后的SQL语句

SELECT 
    m.id_match AS id,
    DATE_FORMAT(m.date_debut, '%d/%m/%Y') AS Date,
    t_home.nom_equipe AS Home,
    t_away.nom_equipe AS Away
FROM match_world m
INNER JOIN teams_world t_home ON m.id_domicile = t_home.id_equipe
INNER JOIN teams_world t_away ON m.id_exterieur = t_away.id_equipe
WHERE m.id_match = 1; -- 可选,若需指定查询id=1的比赛

关键说明

  • 两次关联teams_world表,分别用别名t_home(主队)和t_away(客队),分别匹配主队、客队的ID。
  • 用DATE_FORMAT函数将日期格式化为dd/mm/yyyy形式,匹配预期结果的日期格式。
  • 通过AS给字段起别名,让结果列名与预期完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:30:25