I strongly suggest what has been mentioned on the Solution 1. That I also feel this is the responsibility of the UI (Crystal Reports, Excel etc...) to decide how the details should be displayed.
But if the requirement to have it on the database side, you also can use a similar method what's shown below.
CREATE TABLE #TestTable(
Course VARCHAR(10) NOT NULL
,Eligibility VARCHAR(20) NOT NULL
,StartDate SMALLDATETIME NOT NULL
,EndDate SMALLDATETIME NOT NULL
)
INSERT INTO #TestTable
(Course
,Eligibility
,StartDate
,EndDate
)
VALUES
('REO','CHIEF ENGINEER','10-Aug-2015','21-Aug-2015')
,('REO','CHIEF ENGINEER','24-Aug-2015','04-Sep-2015')
,('REO','CHIEF ENGINEER','14-Dec-2015','25-Dec-2015')
,('REO','ENGINEER','26-Dec-2015','28-Dec-2015')
,('REO','ENGINEER','29-Dec-2015','31-Dec-2015')
SELECT
IIF(A.Sort_ID<>1,'',A.Course) AS Course
,IIF(A.Sort_ID<>1,'',A.Eligibility) AS Eligibility
,A.StartDate
,A.EndDate
FROM(
SELECT
ROW_NUMBER() OVER (PARTITION BY Src.Course,Src.Eligibility ORDER BY Src.Course,Src.Eligibility) AS Sort_ID
,DENSE_RANK() OVER(ORDER BY Src.Course,Src.Eligibility) AS Rank_ID
,Src.*
FROM #TestTable AS Src
) AS A
ORDER BY A.Rank_ID,A.Sort_ID