• Posting this since I've already written it
    😎

    Is this what you are looking for?


    If(OBJECT_ID('tempdb..#temp123') Is Not Null)
    Begin
    Drop Table #Temp123
    End
    Create Table #temp123 (
    C_SS_KEY nvarchar(13)
    ,DS_Start_date Datetime2
    ,DS_End_Date datetime2
    ,CTNumber nvarchar(7)
    )

    insert into #temp123 values('614-P085199-P', '2017-07-28 16:15:15.0000000','2017-09-19 23:00:05.0000000','P085199')
    insert into #temp123 values('614-P085199-P', '2017-09-19 23:00:05.0000000','2018-02-12 19:00:48.6300000','P085199')
    insert into #temp123 values('614-P085199-P', '2018-02-12 19:00:48.6300000','2018-02-15 19:00:48.6300000','P085199')
    ;WITH BASE_DATA AS
    (
      SELECT
       T.C_SS_KEY
      ,T.DS_Start_date
      ,T.DS_End_Date
      ,T.CTNumber
      ,MONTH(T.DS_End_Date) AS MONTH_NO
      FROM #Temp123 T
    )
    SELECT
      BD.C_SS_KEY
     ,MIN(BD.DS_Start_date) AS DS_Start_date
     ,MAX(BD.DS_End_Date) AS DS_End_Date
     ,BD.CTNumber
    FROM  BASE_DATA BD
    GROUP BY BD.C_SS_KEY
       ,BD.CTNumber
       ,BD.MONTH_NO
    ;

    Output

    C_SS_KEY  DS_Start_date     DS_End_Date      CTNumber
    ------------- --------------------------- --------------------------- --------
    614-P085199-P 2017-09-19 23:00:05.0000000 2018-02-15 19:00:48.6300000 P085199
    614-P085199-P 2017-07-28 16:15:15.0000000 2017-09-19 23:00:05.0000000 P085199