MySQL - 使用共享密钥

时间:2016-08-03 04:27:43

标签: mysql

我正在尝试使用共享密钥对来自三个不同表的结果进行分组。

在我的数据库中,我有三个小组的三张桌子 - teamone, teamtwo, teamthree

然后我有另一张名为league的桌子,这些桌子属于这些桌子 联赛表有两个columns id, leaguename

每个团队表都有columns id, league_id, team_name, team_function - and other columns specific到团队

我为三个团队提供三个表的原因是因为除了前四列之外,由于某些商业原因,所有其他列都不同,并且数据无法存储在同一个表中。

我正在尝试构建一个执行以下操作的查询:

列出所有联赛

- Display all the teams associated with each league.

我尝试了各种加入和联合选项,但无法使其正常工作。任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

尝试此查询

SELECT l.leaguename, t1.team_name, t2.team_name, t3.team_name 
 FROM league l 
 INNER JOIN teamone t1 ON l.id = t1.league_id
 INNER JOIN teamtwo t2 ON l.id = t2.league_id  
 INNER JOIN teamthree t3 ON l.id = t3.league_id  

OR

SELECT l.leaguename, t1.team_name, t2.team_name, t3.team_name 
 FROM league l 
 LEFT JOIN teamone t1 ON l.id = t1.league_id
 LEFT JOIN teamtwo t2 ON l.id = t2.league_id  
 LEFT JOIN teamthree t3 ON l.id = t3.league_id  

我相信LEFT JOIN可以提供准确的结果。但请尝试并检查。