私は2 つのテーブルを持っています:とRaces
、とからのみ、と からRacesTimes
すべてを抽出したいです。Races
RacesTimes
Finisher
Time
RacesTimes.TotalTime
RaceID
RacesTimes
したがって、結果は次のようになり
Races.*
ますRacesTimes.Finisher
。RacesTimes.Time
これは私が作ったものです:
SELECT
Races.*,
(
SELECT
`TotalTime`
FROM
`RacesTimes`
WHERE
`RaceID` = Races.ID
ORDER BY
`TotalTime` ASC
LIMIT 1
) AS `BestTime`,
(
SELECT
`Time`
FROM
`RacesTimes`
WHERE
`RaceID` = Races.ID
ORDER BY
`TotalTime` ASC
LIMIT 1
) AS `BestTimeS`,
(
SELECT
`Finisher`
FROM
`RacesTimes`
WHERE
`RaceID` = Races.ID
ORDER BY
`TotalTime` ASC
LIMIT 1
) AS `BestFinisher`
FROM `Races`
すべて正しく抽出していますが、クエリが長すぎて簡略化できませんか? 簡略化されたバージョンでは LEFT JOIN などを使用していると思いますが、JOIN でクエリを使用する方法がわかりません。