一个玩家可以拥有1或2个团队。我想同时加入这两个表,每个球员只有一行或一两支队伍
给定表:
### Player ###
id PK
name
team_id
### Team ###
id PK
name
表中的值:
SELECT * FROM player;
id | name | team_id
---+-------------+-------------
1 | John Adams | 1
2 | John Adams | 2
3 | Max Roberts | 3
SELECT * FROM team;
id | name
---+------------------
1 | Red Stars
2 | Blue Birds
3 | Grey Tigers
我想加入两个表,以获取每个玩家的以下输出:
player_name | team_1 | team_2
-------------+-------------+------------------
John Adams | Red Stars | Blue Birds
Max Roberts | Grey Tigers | NULL
到目前为止,我唯一可以存档的是以下内容。但是我不希望约翰·亚当斯有两排。
SELECT player.name as player_name, team.name as team
FROM player JOIN team ON player.team_id = team.id;
player_name | team
-----------------+--------------------
John Adams | Red Stars
John Adams | Blue Birds
Max Roberts | Grey Tigers
是的,我知道这不是特定情况下的良好数据库布局,但是我无法更改给定的数据库布局。