我正在尝试使用共享密钥对来自三个不同表的结果进行分组。
在我的数据库中,我有三个小组的三张桌子 - 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.
我尝试了各种加入和联合选项,但无法使其正常工作。任何建议都会很棒。
答案 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
可以提供准确的结果。但请尝试并检查。