過去 14 日間出席していないメンバーの記録を更新する必要があります。メンバーと出席という 2 つのテーブルがあります。過去 14 日間の Attend_Freq が 5 未満の場合、メンバー レコードを最新の「Last_Attend_Date」で更新する必要があります。
Members table:
ID Attend_Freq Last_Attend_Date
123 4 2012-7-5 -- This is the result of the query, the most
recent date in the table instead of the
most recent for the member
Attendance
ID Member_ID Last_Attend_Date
987 123 2012-6-5
888 123 2012-6-4
567 123 2012-6-3
456 234 2012-6-30
1909 292 2012-7-5
これはクエリですが、更新する必要があるメンバーの最新ではなく、Attendance テーブルの最新の Last_Attend_Date が返されます。
UPDATE M
SET Last_Attend_Date =
(SELECT Max(Last_Attend_Date) FROM Attendance A
JOIN Members M ON A.Member_ID = M.ID
WHERE A.Member_ID =M.id )
FROM Members M
JOIN Attendance A on A.Member_ID = M.id
WHERE Attend_Freq <'5' and Last_Attend_Date <getdate()-14 and A.Member_ID = M.ID