我尝试使用用户的年龄类别更新我的比赛结果表,该年龄类别是通过将年龄和性别与另一个表中的年龄范围进行比较计算得出的,就像这样......
update race_results.race_category = category.categoryname
where age at time of event
is < category.agemin
and age at time of event > category.agemax
and category.gender = user.gender
select datediff (yy, raceresults.race_date, user.dob)
需要更新约4500条记录
但我无法将事件发生时的年龄变成sql。
user table
user.id, user.dob, user.gender
raceresults table
raceresults.id, raceresults.race_date, race_results.race_category
category table
agemin, agemax, gender, categoryname
感谢。
答案 0 :(得分:0)
我认为有一些查询错误。尝试使用此查询: -
UPDATE race_results
SET race_category = (SELECT categoryname FROM category)
WHERE datediff (yy, raceresults.race_date, user.dob) < category.agemin
AND datediff (yy, raceresults.race_date, user.dob) > category.agemax
AND category.gender = user.gender