我还在学习SQL,我的大脑很难用这个.
说我有3张桌子:
teams
players
和teams_players作为我的链接表
我想要做的就是运行一个查询来让每个团队和玩家参与其中.
我试过这个:
SELECT *
FROM teams
INNER JOIN teams_players
ON teams.id = teams_players.team_id
INNER JOIN players
ON teams_players.player_id = players.id
但它为每支球队的每名球员返回了一个单独的一行.加入是正确的方法吗?还是我应该做其他事情?
—————————————–编辑
好的,所以从我听到的情况来看,这并不一定是一种糟糕的方式.在进行循环时,我只需要按团队对数据进行分组.
我还没有尝试过提供的修改过的SQL语句,但今天我会回复你.
要回答关于结构的问题 – 我想我并没有考虑返回的行结构,这是导致我混淆的一部分.在这种特殊情况下,每个团队仅限4名玩家(或更少),所以我想对我有用的结构如下:
teams.id, teams.name, players.id, players.name, players.id, players.name, players.id, players.name, players.id, players.name,
1 Team ABC 1 Jim 2 Bob 3 Ned 4 Roy
2 Team XYZ 2 Bob 3 Ned 5 Ralph 6 Tom