我的数据库有三个表,
Studentdata with columns studentid , studentname
Assessmentdata with columns studentid, attemptedondate
Activitydata with columns studentid, date
并且每个表格行每天都会使用当前时间戳进行更新。
在识别方面需要帮助,Mostrecentdate 列应该在比较两个不同表和两个不同列中的这两个列尝试过的日期和日期之后获取日期。如果该列在活动数据和评估数据中为空,则在预期输出中打印学生 ID mostrecentdate 为空,如图所示。
左外连接应该是学生数据表,我应该在哪里写这个?
预期输出应该是,
Studentid studentname mostrecentdate
1 abc 2013-06-01 12:05
2 def 2013-05-02 02:03
3 kjr null
My current query is:
select S.StudentId,
S.StudentAccountName,
CASE WHEN Max(D.attemptedondate) >= Max(A.date) THEN Max(D.attemptedondate)
ELSE Max(A.date) END
as MOSTRECENTDATE
from activitydata A
join Studentdata S on A.StudentId=s.StudentID
join Assessmentdata D on S. StudentID =D. StudentID
group by S.StudentId,
S.StudentAccountName