;With cte As
(Select s.Student_ID, s.Name, t.Test_Date, t.Test_Type,
Row_Number() Over(Partition By s.Student_ID Order By t.Test_Date) As rn
From #student s
Inner Join #Test t On s.Student_ID = t.Student_ID)
Select Case When rn = 1 Then Cast(Student_ID As varchar(11)) Else '' End As 'Student Id',
Case When rn = 1 Then Name Else '' End As 'Name',
Convert(char(10), Test_Date, 101) As 'Test Date',
Test_Type As 'Test Type'
From cte
Order By Student_ID, Test_Date;
Tom