SQLite 数据库,表“events”包含列events.eventDate、events.ageAtEvent和events.foreignKey_participants,表“participants”包含列participants.primaryKey和participants.dob。
我想用每个参与者在事件发生时的当前年龄更新 events.ageAtEvent 中的所有行。
我试过的:
UPDATE events
SET ageAtEvent = (
SELECT (strftime('%Y', events.eventDate) - strftime('%Y', participants.dob)) - (strftime('%m-%d', events.eventDate) < strftime('%m-%d', participants.dob))
FROM events JOIN participants ON events.foreignKey_participants = participants.primaryKey
);
这将使用相同的 ageAtEvent 填充所有行,大概是第一行。我不清楚如何将正确的计算应用于每一行。非常感谢这方面的帮助。