首页 > 解决方案 > MYSQL 连接表创建新列

问题描述

我正在尝试加入表格;第一个是包含使用缩写名称的球队的夹具,第二个表格包含所有球队的详细信息,例如全名和主场场地。

我想加入这些表格并显示 2 x 球队的全名和主队的场地。

我下面的代码显示了我需要的一切,除了我需要显示的客队全名。

SELECT f.mid
     , f.gid
     , f.hteam
     , f.ateam
     , p.venue
     , p.fname as hteam
     , p.fname as ateam
  FROM fixtures f
  JOIN teams p 
    ON p.abbrev = f.hteam
WHERE mid = 1       

表 1(夹具)

mid gid  hteam ateam
1    1   WCE   LIV
1    2   MUN   ESS
        

表 2(团队)

fname       abbrev  venue
WEST COAST   WCE    OPTUS
LIVERPOOL    LIV    ANFIELD
MANCHESTER   MUN    OLD TRAFFORD
ESSENDON     ESS    WINDY HILL

标签: mysqljoin

解决方案


您必须加入fixtures以下 2 个副本teams

SELECT f.mid, f.gid, f.hteam, f.ateam, 
       t1.venue, t1.fname hteam, t2.fname ateam
FROM fixtures f
JOIN teams t1 ON t1.abbrev = f.hteam
JOIN teams t2 ON t2.abbrev = f.ateam
WHERE f.mid = 1

推荐阅读