SELECT SID2.*, CAST((SID2.AmountExGST + SID2.GSTAmount) AS money) AS "AmountIncGST", tserviceID.customercentreid FROM (SELECT SID1.*, CAST((CASE WHEN SID1.GSTFlag LIKE 'Y' THEN (SID1.AmountExGST * 0.1) ELSE 0 END) AS money) AS "GSTAmount" FROM (SELECT SID.*, SI.ServiceID, 'Network Access' AS "RateDescription", CAST(11111 AS int) AS "BatchID", ('01/06/2008') AS "FromDate", ('30/06/2008') AS "ToDate", CAST(57 AS int) AS "TransactionTypeID", CAST(((CASE WHEN SID.Invoiced IS NULL THEN SID.Cost ELSE SID.Invoiced END)*SID.Rate/12*tServiceType.Frequency) AS money) AS "AmountExGST", (CASE WHEN tGroup.CustomerID = 499 THEN 'N' ELSE 'Y' END) AS "GSTFlag", CAST(SID.Cost AS varchar) AS "Var01", CAST(SID.Cost100 AS varchar) AS "Var02", CAST(SID.Invoiced AS varchar) AS "Var03", CAST(SID.ServiceLen AS varchar) AS "Var04", SI.UpMDF AS "Var05", SI.DownMDF AS "Var06", RTRIM(SUBSTRING(SI.Description,1,50)) AS "Var07", CAST(SI.StatusID AS varchar) AS "Var08", tStatus.Status AS "Var09", SI.SACCnumber AS "Var10" FROM (SELECT SI0.ID, SI1.Rate, Max(tRate.Cost) AS "Cost", Max(tRate.Cost100) AS "Cost100", SI0.Length AS "ServiceLen", SI0.Invoiced FROM (SELECT SC.ID, SC.Rate FROM (SELECT SC1.ID, (CASE WHEN tDiscountedRate.Rate IS NULL THEN 100.0 ELSE tDiscountedRate.Rate END) / 100.0 AS "Rate" FROM (SELECT tServiceID.ID, tServiceID.ServiceTypeID, tCustomer.ID AS "CustomerID", (CASE WHEN ST.Frequency IS NULL THEN 1 WHEN ST.Frequency = 0 THEN 1 WHEN (CAST(Month(tServiceID.InstallationDate)-6 AS Real) / ST.Frequency) = ROUND((Month(tServiceID.InstallationDate)-6) / ST.Frequency,0,0) THEN 0 ELSE 1 END) AS "Period" FROM tServiceID LEFT JOIN tServiceType AS ST ON ((tServiceID.ServiceTypeID = ST.ID) AND (ST.Active = 1)) LEFT JOIN tCustomer ON ((SUBSTRING(tServiceID.SACCnumber,1,3) = tCustomer.ShipTo) AND (tCustomer.Active = 1)) WHERE ST.SystemID = 53 AND tServiceID.StatusID IN (4) AND tServiceID.Active = 1 AND ((tServiceID.SACCnumber IS NOT NULL) AND (tServiceID.CustomerCentreID IS NULL)) AND tCustomer.InvoiceServices = 1) AS SC1 LEFT JOIN tDiscountedRate ON ((SC1.ServiceTypeID = tDiscountedRate.ServiceTypeID) AND (SC1.CustomerID = tDiscountedRate.CustomerID) AND (tDiscountedRate.Active = 1)) WHERE SC1.Period = 0) AS SC) AS SI1 INNER JOIN tServiceID AS SI0 ON SI1.ID = SI0.ID LEFT JOIN tRate ON ((SI0.ServiceTypeID = tRate.ServiceTypeID) AND (SI0.Length >= tRate.Length)) GROUP BY SI0.ID, SI0.Length, SI0.Invoiced, SI1.Rate) AS SID INNER JOIN tServiceID AS SI ON SID.ID = SI.ID LEFT JOIN tServiceType ON SI.ServiceTypeID = tServiceType.ID LEFT JOIN tStatus ON SI.StatusID = tStatus.ID LEFT JOIN tCentre ON ((SI.CustomerCentreID = tCentre.ID) AND (tCentre.Active = 1)) LEFT JOIN tDepartment ON ((tCentre.DepartmentID = tDepartment.ID) AND (tDepartment.Active = 1)) LEFT JOIN tGroup ON ((tDepartment.GroupID = tGroup.ID) AND (tGroup.Active = 1))) AS SID1) AS SID2 left join tserviceid on sid2.serviceid = tserviceid.serviceid order by sid2.var10