php—从一个表中选择所有行,这些行按另一个表中的唯一值分组

zzlelutf  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(203)

我有两个表的简单数据库。
teams 表中有列 team 以及 id . players 表有列 player_name , player_age , position 以及 team_id . team_idplayers 表是引用 team_nameteams table。
我想用php在html表中显示这些信息,在这里我将使用 team_name , player_name 以及 player_age .
我只需要独一无二的 team_name 值,因为我想使用while循环回显整个表,所以我需要它们在头中只回显一次。我希望这有道理。
我的问题是,我不知道如何编写返回distinct的查询 team_name 值来自 teams 表中的所有玩家和年龄信息 players table。
我试过使用连接,但我总是得到相同数量的连接 team_name 值为 player_name 价值观。
我这样做只是为了锻炼,所以任何安全问题和类似的事情都不是我现在关心的。

eagi6jfj

eagi6jfj1#

假设您想显示id=3的团队的关系,您可以使用join作为

select t.team_name, p.player_name, p.player_age
from teams t 
inner join players p on p.team_id = t.id
and t.id = 3

或者如果你想要基于团队名称的关系

select t.team_name, p.player_name, p.player_age
from teams t 
inner join players p on p.team_id = t.id
and t.team_name = 'your_preferred_team_name'

如果希望所有团队都在一个查询中,那么

select t.team_name, p.player_name, p.player_age
from teams t 
inner join players p on p.team_id = t.id
Order by t.id

相关问题