В запросе отсутствует GROUP BY
SELECT MIN(Lap.lapTime), Lap.lapRaceName, Lap.lapRaceDate
FROM Lap
JOIN (
SELECT DISTINCT raceRaceName
FROM Race
) races
ON races.raceRaceName = Lap.lapRaceName
GROUP BY Lap.lapRaceName, Lap.lapRaceDate
Но, может быть, это можно упростить?
Поскольку, похоже, он не получает никаких дополнительных данных из подзапроса.ВНУТРЕННЕЕ СОЕДИНЕНИЕ в подзапросе, кажется, только гарантирует, что racename также существует в таблице Race.
SELECT MIN(lapTime) AS MinLapTime, lapRaceName, lapRaceDate
FROM Lap
GROUP BY lapRaceName, lapRaceDate
ORDER BY lapRaceName, lapRaceDate
Другое дело, что имя гонки также сохраняется в таблице Lap.
В соответствии с обычной практикой нормализации было бы лучше, если бы у таблицы Lap был внешний ключ к первичному ключу таблицы Race.
Тогда имя гонки сохраняется только в одной таблице.
Тогда это может быть запрос, подобный следующему примеру:
SELECT MIN(Lap.lapTime), Race.raceRaceName, Lap.lapRaceDate
FROM Lap
JOIN Race
ON Race.raceID = Lap.lapRaceId
GROUP BY Race.raceID, Race.raceRaceName, Lap.lapRaceDate