// Was: SELECT * FROM ( SELECT tFinalisedTransaction.RevenueFlag, tFinalisedTransaction.BatchID, tBatch.BillingPeriod, tFinalisedTransaction.CustomerID, tCustomer.ShipTo, tServiceID.ServiceID, tFinalisedTransaction.ServiceTypeID, tServiceType.Code, tServiceType.Description AS ServiceType, tFinalisedTransaction.AmountExGST, tTransactionGroup.Description AS TransactionGroup, tTransactionType.Description AS TransactionType FROM tFinalisedTransaction INNER JOIN tServiceID ON tFinalisedTransaction.ServiceID = tServiceID.ID LEFT JOIN (tBatch INNER JOIN tSupplier ON tBatch.SupplierID = tSupplier.ID) ON tFinalisedTransaction.BatchID = tBatch.ID LEFT JOIN (tTransactionType INNER JOIN tTransactionGroup ON tTransactionType.TransactionGroupID = tTransactionGroup.ID) ON tFinalisedTransaction.TransactionTypeID = tTransactionType.ID INNER JOIN tCustomer ON tFinalisedTransaction.CustomerID = tCustomer.ID LEFT JOIN tServiceType ON tFinalisedTransaction.ServiceTypeID = tServiceType.ID LEFT JOIN tElement ON tServiceType.ExpenseElementID = tElement.ID WHERE tBatch.BillingPeriod LIKE '2007/01' AND (tFinalisedTransaction.RevenueFlag = 0) AND (tTransactionGroup.Description NOT LIKE 'ADMIN') ) AS FT ORDER BY ServiceID // Payable => Expenditure: SELECT * FROM ( SELECT tPayable.BatchID, tPayable.PayableDate, LEFT(tPayable.PlatinumFileName, 20) AS "PlatinumFileName", (CASE tPayable.ReleasedFlag WHEN 1 THEN 'Yes' ELSE '' END) AS Released, tSupplier.SupplierName, tCentre.Description AS Centre, tActivity.Description AS Activity, tElement.ElementCode AS Element, tSubledger.Description AS Subledger, tPayableDetail.AmountExGST, tPayableDetail.Period FROM tPayable INNER JOIN tPayableDetail ON tPayable.ID = tPayableDetail.PayableID LEFT JOIN tSupplier ON tPayable.SupplierID = tSupplier.ID LEFT JOIN tCentre ON tPayableDetail.CentreID = tCentre.ID LEFT JOIN tActivity ON tPayableDetail.ActivityID = tActivity.ID LEFT JOIN tElement ON tPayableDetail.ElementID = tElement.ID LEFT JOIN tSubledger ON tPayableDetail.SubledgerID = tSubledger.ID ) AS PE WHERE PE.Period LIKE '2007/02' ORDER BY PE.BatchID DESC SELECT C.* FROM ( SELECT P.*, tSupplier.SupplierName, PD.Period, PD.AmountExGST, PD.GSTAmount, (PD.AmountExGST + PD.GSTAmount) AS "AmountIncGST" FROM tPayable P INNER JOIN (SELECT D.PayableID, D.BatchID, D.Period, Sum(D.AmountExGST) AS "AmountExGST", Sum(D.GSTAmount) AS "GSTAmount" FROM tPayableDetail D GROUP BY D.PayableID, D.BatchID, D.Period) AS PD ON P.ID = PD.PayableID LEFT JOIN tSupplier ON P.SupplierID = tSupplier.ID ) AS C WHERE C.Period LIKE '2007/01' ORDER BY C.BatchID DESC // Finally: SELECT C.* FROM (SELECT P.BatchID, P.PayableDate, LEFT(P.PlatinumFileName, 20) AS "PlatinumFileName", (CASE P.ReleasedFlag WHEN 1 THEN 'Yes' ELSE '' END) AS "Released", tSupplier.SupplierName, tCentre.Description AS Centre, tActivity.Description AS Activity, tElement.ElementCode AS Element, tSubledger.Description AS Subledger, PD.ID AS "PayableDetailID", PD.PayableID, PD.Period, PD.AmountExGST, PD.GSTAmount, (PD.AmountExGST + PD.GSTAmount) AS "AmountIncGST" FROM tPayable P INNER JOIN tPayableDetail PD ON P.ID = PD.PayableID INNER JOIN tSupplier ON P.SupplierID = tSupplier.ID INNER JOIN tCentre ON PD.CentreID = tCentre.ID INNER JOIN tActivity ON PD.ActivityID = tActivity.ID INNER JOIN tElement ON PD.ElementID = tElement.ID INNER JOIN tSubledger ON PD.SubledgerID = tSubledger.ID) AS C WHERE C.Period LIKE '2007/01' ORDER BY C.BatchID DESC // And for Invoices: SELECT C.* FROM (SELECT PD.BatchID, P.InvoiceDate, LEFT(P.PlatinumFileName, 20) AS "PlatinumFileName", (CASE P.ReportedFlag WHEN 1 THEN 'Yes' ELSE '' END) AS "Reported", tCustomer.ShipTo, P.UserName, tCentre.Description AS "Centre", tActivity.Description AS "Activity", tElement.ElementCode AS "Element", PD.ID AS "InvoiceDetailID", PD.InvoiceID, PD.Period, PD.AmountExGST, PD.GSTAmount, (PD.AmountExGST+ PD.GSTAmount) AS "AmountIncGST" FROM tInvoice P INNER JOIN tInvoiceDetail PD ON P.ID = PD.InvoiceID INNER JOIN tCustomer ON P.CustomerID = tCustomer.ID INNER JOIN tCentre ON PD.CentreID = tCentre.ID INNER JOIN tActivity ON PD.ActivityID = tActivity.ID INNER JOIN tElement ON PD.ElementID = tElement.ID) AS C WHERE C.Period LIKE '2007/01' ORDER BY C.BatchID DESC