我有3个表格,我想查询它们并根据
表1团队ID。

我认为这很简单,但我未能解决。

我要做的就是让他们从其他表中选择他们的数据,并按TeamID对其进行分组。

表的结构如下:

表格1
该表按PersonID保存团队条目-通过PersonID表引用,每个团队位于一行中

[TeamID]  Tournament_id  Person_1_ID   Person_2_ID     Person_3_ID     Country_ID
  ---     ---------      --------        ----------    ---------       --------
  1          77789          123           124              125           90
  2          77789          126           127              128           95
  3          77789          129           130              131            5
        .........


表2
这是人员表PersonID =主键

 [PersonID]     Name         Dob             Email           Country_ID
  ---------    -------     --------        ----------        ------------
    123        John      19/03/1992      John@live.com          90
    124        Moe       20/10/1995      Moe@live.com           90
    125        Sami      10/05/1989      Sami@example.com       90
    126        Kim       30/01/1990      Kim@company.com        95
.......


表3
参加表

[ParticipationID]     PersonID      tournament_id          Country_id
 -----------------   ----------     -------------         -------------
     9999901            123             77789                  90
     9999902            124             77789                  90
     9999903            125             77789                  90
     9999904            126             77789                  95
     9999905            127             77789                  95
.......................


我如何获得此输出

TeamID     Tournament_Id     Name     Country_ID
------      -----------     -----     ------
  1          777789         John         90
  1          777789         Moe          90
  1          777789         Sami         90
  2          777789         Kim          95

最佳答案

像这样:

SELECT t.TeamID
       ,t.Tournament_Id
       ,pr.Name
       ,pr.Country_Id
FROM Team AS t
INNER JOIN Participation AS p ON p.tournament_id = t.Tournament_id
INNER JOIN Person AS pr ON pr.PersonID = p.PersonID
WHERE Tournament_Id = 777789

关于mysql - 选择其他表中具有匹配列的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30014174/

10-14 13:57
查看更多