私のデータベースには 3 つのテーブルがあり、
Studentdata with columns studentid , studentname
Assessmentdata with columns studentid, attemptedondate
Activitydata with columns studentid, date
また、各テーブル行は現在のタイムスタンプで毎日更新されます。
識別に助けが必要です。Mostrecentdate 列は、2 つの異なるテーブルと 2 つの異なる列から、これらの列 attemptsondate と date の両方を比較した後、日付を取得する必要があります。列が activitydata と assessmentdata の両方で null の場合は、期待される出力で学生 ID を出力します示されているように、mostrecentdate は null です。
左外部結合は 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