【发布时间】:2020-02-28 15:55:12
【问题描述】:
我有以下列名的表格:
玩家:
id first_name last_name 年龄 职位 薪水 雇用日期 技能_data_id 团队 ID
技能:
id, dribbling, pace, passing, shooting, speed, strength
城镇:
id, name, country_id
团队:
id name established fan_base stadium_id
在这个基地上,我找到了他们所在的城镇中速度最快的玩家。
同时,我必须跳过在“Devify”团队中打球的球员。
目前我已尝试使用此代码,但最终结果不正确。
select max(s.speed) as `max_speed`,tt.name as `town_name`
from skills_data as s
right join players as p on s.id = p.skills_data_id
inner join teams as t on p.team_id = t.id
inner join towns as tt on p.team_id = tt.id
where t.name not like 'Devify'
group by s.id
order by max(s.speed) desc, town_name;
结果应该是这样的:
max_speed town_name
97 Smolensk
92 Bromma
92 Lühua
...
NULL Zavolzh’ye
我的结果是:
max_speed town_name
97 Montréal-Ouest
92 Dalubian
92 Samsan
提前谢谢你。
【问题讨论】:
-
您如何将城镇与其他表格联系起来?此连接条件是否正确:
player.team_id = town.id?