[英]Selecting all rows from one table grouped by unique values from another table
我有两个表的简单数据库。
在teams
表中有列team
和id
。
players
表有列player_name
, player_age
, position
和team_id
。
players
表中的team_id
是外键,指的是teams
表中的team_name
。
我想使用 PHP 在 HTML 表中显示此信息,其中我将使用team_name
、 player_name
和player_age
。
我只需要唯一的team_name
值,因为我想使用 while 循环回显整个表,所以我只需要它们在标题中回显一次。 我希望这是有道理的。
我的问题是,我不知道如何编写一个查询将返回不同team_name
从价值观teams
,从表中,但所有球员和年龄信息players
表。
我试过使用连接,但我总是最终拥有与team_name
值相同数量的player_name
值。
我这样做只是为了锻炼,所以任何安全问题和类似的东西现在都不是我关心的。
假设您想显示 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.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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.