Я думаю, что это может сработать, чтобы получить 3 строки, обратите внимание, что я использовал только местоположение и транзакцию в разделе.
select * from (
select TM.Tranaction_Slno, TM.Created_On,convert(varchar(10),TM.Created_On,120) as CreatedOn,
TT.Read_Time,convert(varchar(10),TT.Read_Time,120) as ReadTime,
1 as 'Trailer Count' ,TMM.Trailer_RegNo,TT.Location,
(TD.Container_Number) Container_Number ,CFM.CFS_Name, row_number() over (partition by TM.Tranaction_Slno,TT.Location order by TM.Created_On desc) rownum
convert(varchar(5),DateDiff(s, TM.Created_On, TT.Read_Time)/3600)+':'+
convert(varchar(5),DateDiff(s, TM.Created_On, TT.Read_Time)%3600/60)+':'+
convert(varchar(5),(DateDiff(s, TM.Created_On, TT.Read_Time)%60)) TimeDiff,
convert(varchar(5),DateDiff(hour, TM.Created_On, Read_Time)) [Time]
from Transaction_Master TM
inner join Transaction_Data TD on TD.Tranaction_Slno = TM.Tranaction_Slno
left join Transaction_Track TT on TT.Transaction_Slno = TM.Tranaction_Slno
inner join CFSMaster CFM on TM.CFS_ID = CFM.CFS_Id
inner join TrailerMaster TMM on TM.Trailer_ID= TMM.Trailer_ID
where TM.Created_On between '2019-02-27 00:00:00' and '2019-02-27 23:59:59'
and TM.Tranaction_Slno=1770575 ) test
where test.rownum = 1