我正在尝试在人员年龄和国家/地区名称位于不同表中的事件中选择最年轻的澳大利亚人。
SELECT AthleteName, Age
FROM Athletes
JOIN Countries ON Countries.CountryID = Athletes.CountryID
WHERE CountryName = 'Australia'
AND Age = (SELECT MIN(Age) FROM Athletes)
我相信你的问题是子查询
(SELECT MIN(Age) FROM Athletes)
将始终返回所有运动员的最低年龄,无论他们来自哪个国家。下面的查询应该可以正确运行。
SELECT AthleteName, Age
FROM Athletes
JOIN Countries ON Countries.CountryID = Athletes.CountryID
WHERE CountryName = 'Australia'
AND Age = (SELECT MIN(Age) FROM Athletes WHERE CountryID = Countries.CountryID);