我有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/