我的數據庫中有三個表,LEFT OUTER JOIN與case條件
Studentdata with columns studentid , studentname
Assessmentdata with columns studentid, attemptedondate
Activitydata with columns studentid, date
而且每個錶行每天會更新爲當前時間戳。
需要幫助確定,Mostrecentdate列應該從兩個不同的表和兩個不同的列比較這兩個列的tryptedondate和日期後獲得日期。如果在activitydata和assessmentdata中該列都爲null,那麼使用in打印學生ID如圖所示,具有最新日期的預期輸出爲空。
左外連接應與studentdata表,我應該在哪裏寫這個?
預期的輸出應該是,
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
請在您的查詢中提供與您的期望輸出 – peterm
相關的樣本數據,我找不到'mostrecentdate'列 – Ravi
對不起,這是最新的 – user2459816