繁体   English   中英

从另一个表中按唯一值分组的一个表中选择所有行

[英]Selecting all rows from one table grouped by unique values from another table

我有两个表的简单数据库。

teams表中有列teamid
players表有列player_nameplayer_agepositionteam_id

players表中的team_id是外键,指的是teams表中的team_name

我想使用 PHP 在 HTML 表中显示此信息,其中我将使用team_nameplayer_nameplayer_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM