SELECT * FROM (SELECT TN.BatchID, tServiceID.ServiceID, tServiceType.Code, TN.DateFrom, TN.DateTo, TN.Rent, TN.Calls, TN.Other, TN.Admin, tDiscount.DiscountRate, tDiscount.NonStdRevAdminFee, tDiscount.NonStdExpAdminFee, (TN.Rent + TN.Calls + TN.Other) AS "SubTotal", (TN.Rent + TN.Calls + TN.Other + TN.Admin) AS "Total", tCustomer.ShipTo FROM ((((SELECT tBatch.BillingPeriod, tTransaction.BatchID, tTransaction.ServiceID, tTransaction.ServiceTypeID, Min(CASE tTransactionGroup.Description WHEN 'RENT' THEN tTransaction.FromDate END) AS DateFrom, Max(CASE tTransactionGroup.Description WHEN 'RENT' THEN tTransaction.ToDate END) AS DateTo, Sum(CASE tTransactionGroup.Description WHEN 'RENT' THEN tTransaction.AmountExGST ELSE 0 END) AS Rent, Sum(CASE tTransactionGroup.Description WHEN 'CALL' THEN tTransaction.AmountExGST ELSE 0 END) AS Calls, Sum(CASE tTransactionGroup.Description WHEN 'OTHER' THEN tTransaction.AmountExGST ELSE 0 END) AS Other, Sum(CASE tTransactionGroup.Description WHEN 'ADMIN' THEN tTransaction.AmountExGST ELSE 0 END) AS Admin, tTransaction.CustomerID FROM ((tTransaction LEFT JOIN tBatch ON tTransaction.Batchid = tBatch.ID) LEFT JOIN tTransactionType ON tTransaction.TransactionTypeID = tTransactionType.ID) LEFT JOIN tTransactionGroup ON tTransactionType.TransactionGroupID = tTransactionGroup.ID WHERE tBatch.BillingPeriod = '2005/05' AND tBatch.BatchStatusID > 4 AND tBatch.BatchStatusID < 8 AND tTransaction.StatusID IS NULL AND tTransaction.RevenueFlag = 1 GROUP BY tBatch.BillingPeriod, tTransaction.BatchID, tTransaction.ServiceID, tTransaction.CustomerID, tTransaction.ServiceTypeID) AS TN LEFT JOIN tServiceID ON TN.ServiceID = tServiceID.ID) LEFT JOIN tServiceType ON tServiceID.ServiceTypeID = tServiceType.ID) LEFT JOIN tCustomer ON TN.CustomerID = tCustomer.ID) LEFT JOIN tDiscount ON ((TN.CustomerID = tDiscount.CustomerID) AND (TN.ServiceTypeID = tDiscount.ServiceTypeID))) AS TN1 ORDER BY ServiceID WHERE tTransaction.BatchID = 20150