How to select multiple column from table base on few distinct column

Here is my table

UserDetail

Id UserId CourseId SubjectId TeacherCode RDate status
1 1 1 1 1 08/02/2016 Waiting
2 1 1 1 2 08/01/2016 Recceived
3 1 1 1 3 08/02/2016 Processed
4 1 1 2 1 08/03/2016 Recceived
5 1 1 2 2 08/04/2016 Processed
6 1 2 1 3 08/05/2016 Processed
7 1 2 2 1 08/06/2016 Processed
User can have multiple courses,multiple subjects.One teacher can teach multiple subject.I want to fetch all column from table, base on distinct userid,courseid and subjectid.Out of 7 row,want to show only 4 rows. Any one record from below

Id UserId CourseId SubjectId TeacherCode RDate status
1 1 1 1 1 08/02/2016 Waiting
2 1 1 1 2 08/01/2016 Recceived
3 1 1 1 3 08/02/2016 Processed
If we pick teachercode 1,then rdate to be 08/02/2016 and status to be Waiting neither Recceived nor Processed. Any one from below

Id UserId CourseId SubjectId TeacherCode RDate status
4 1 1 2 1 08/03/2016 Recceived
5 1 1 2 2 08/04/2016 Processed
How to do that?