このクエリは次のようになります。
INSERT INTO `results` (`class_id`, `rider_id`, `schedule_id`, `finish`, `points`, `season_id` )
SELECT DISTINCT racedata.class_id, riders.id as rider_id, schedule.id as schedule_id, racedata.cf_finish, racedata.main_points, schedule.season_id
FROM (racedata LEFT JOIN riders ON racedata.ridername = riders.ridername)
INNER JOIN `schedule` ON `schedule`.date = STR_TO_DATE(`racedata`.event_date, '%m/%d/%Y') WHERE cf_finish > 0;
seasons
現在の年に関連付けられた ID を取得するために呼び出される別のテーブルへのルックアップとして現在の年を使用するように、クエリを変更する必要があります。フィールドがid
あり、season
年が含まれています。
現在season_id
、テーブルに保存していschedule
ますが、そのフィールドはもう使用したくありません。アプリのフロントエンドを簡素化しようとしていますが、それがバックエンドを複雑にしています。
現在の年を取得するために使用したいのですEXTRACT(YEAR FROM date) = EXTRACT(YEAR FROM NOW())
が、whereステートメントでうまく機能しますが、このコンテキストではこれまで使用したことがありません。
必要なデータを取得するために、選択内でネストされた選択を実行しようとする必要がありますか?