SELECT DC3.* FROM (SELECT DC2.*, tCriticalType.Description AS Reason FROM (SELECT DC1.*, (DC1.RENT + DC1.CALL + DC1.OTHER) AS Total, tServiceType.AdminFee FROM ((SELECT tDataCollection.ServiceID, tDataCollection.StatusID, Sum(CASE tTransactionGroup.Description WHEN 'RENT' THEN tDataCollection.AmountExGST ELSE 0 END) AS Rent, Sum(CASE tTransactionGroup.Description WHEN 'CALL' THEN tDataCollection.AmountExGST ELSE 0 END) AS Call, Sum(CASE tTransactionGroup.Description WHEN 'OTHER' THEN tDataCollection.AmountExGST ELSE 0 END) AS Other, Min(CASE tTransactionGroup.Description WHEN 'RENT' THEN tDataCollection.FromDate END) AS RentFrom, Max(CASE tTransactionGroup.Description WHEN 'RENT' THEN tDataCollection.ToDate END) AS RentTill, Max(CASE tTransactionGroup.Description WHEN 'CALL' THEN tDataCollection.ToDate END) AS CallTill FROM (tDataCollection LEFT JOIN tTransactionType ON tDataCollection.TransactionTypeID = tTransactionType.ID) LEFT JOIN tTransactionGroup ON tTransactionType.TransactionGroupID = tTransactionGroup.ID WHERE tDataCollection.BatchID = 50002 GROUP BY tDataCollection.ServiceID, tDataCollection.StatusID) AS DC1 LEFT JOIN tServiceID ON DC1.ServiceID = tServiceID.ServiceID) LEFT JOIN tServiceType ON tServiceID.ServiceTypeID = tServiceType.ID) AS DC2 LEFT JOIN tCriticalType ON DC2.StatusID = tCriticalType.ID) AS DC3 ORDER BY DC3.ServiceID