此查询如下所示:
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 语句中工作得很好,但我以前没有在这种情况下使用过它。
我是否应该尝试在我的选择中进行嵌套选择以获取我想要的数据?