Sql 从不同的表中获取日期和时间数据
我的数据库有三个表Sql 从不同的表中获取日期和时间数据,sql,Sql,我的数据库有三个表 Studentdata带列studentid,studentname Assessmentdata带列studentid,attemptedondate Activitydata带列studentid,date 并且每个表行都将使用当前时间戳每天更新 需要帮助识别,Mostrecentdate列应在比较两个不同表和两个不同列中的两列attemptedondate和date后获取日期 预期产出应为: Studentid studentname mostrece
带列Studentdata
studentid,studentname
带列Assessmentdata
studentid,attemptedondate
带列Activitydata
studentid,date
Mostrecentdate
列应在比较两个不同表和两个不同列中的两列attemptedondate
和date
后获取日期
预期产出应为:
Studentid studentname mostrecentdate
1 abc 2013-06-01 12:05
2 def 2013-05-02 02:03
我目前的查询是:
select
S.StudentId, S.StudentAccountName,
Max(D.attemptedondate, A.date) as MOSTRECENTTIME
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
order by
MOSTRECENTTIME desc
您应该能够使用
案例
:
select S.StudentId,
S.StudentAccountName,
CASE WHEN Max(D.attemptedondate) >= Max(A.date) THEN Max(D.attemptedondate)
ELSE Max(A.date) END
as MOSTRECENTTIME
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
日期字段是什么类型的?对于上面的查询,如果mostrecenttime列为null,我需要帮助从studentdata表获取所有studentid的列表。