I have the following query. When i run it, it takes along time to pull the data up. its only 2000 records. Does anyone have any idea on how to simplify it ot make it run smoother. maybe even how to break it down into a couple of steps.
thanks
SELECT dbo_MFS_ACCOUNT.AccountID, dbo_MFS_ACCOUNT.AccountName, dbo_MFS_ACCOUNT.CreateDate, dbo_MFS_ORDER.InvoiceDate, Sum(dbo_MFS_ORDER.OrderSubtotal) AS SumOfOrderSubtotal, dbo_MFS_REGIONALMGR.Territory, dbo_MFS_REPGROUPS.GroupName
FROM ((dbo_MFS_ACCOUNT INNER JOIN dbo_MFS_ORDER ON dbo_MFS_ACCOUNT.AccountID = dbo_MFS_ORDER.AccountID) INNER JOIN ((dbo_MFS_ACCOUNT_REP_COMMISSION INNER JOIN dbo_MFS_SALESPERSON ON dbo_MFS_ACCOUNT_REP_COMMISSION.SalesPersonId = dbo_MFS_SALESPERSON.SalesPersonID) INNER JOIN dbo_MFS_REGIONALMGR ON dbo_MFS_SALESPERSON.RegMgrID = dbo_MFS_REGIONALMGR.RegMgrID) ON (dbo_MFS_ORDER.AccountID = dbo_MFS_ACCOUNT_REP_COMMISSION.AccountId) AND (dbo_MFS_ORDER.ShipToStoreID = dbo_MFS_ACCOUNT_REP_COMMISSION.StoreId)) INNER JOIN dbo_MFS_REPGROUPS ON dbo_MFS_SALESPERSON.GroupID = dbo_MFS_REPGROUPS.ID
GROUP BY dbo_MFS_ACCOUNT.AccountID, dbo_MFS_ACCOUNT.AccountName, dbo_MFS_ACCOUNT.CreateDate, dbo_MFS_ORDER.InvoiceDate, dbo_MFS_REGIONALMGR.Territory, dbo_MFS_REPGROUPS.GroupName, dbo_MFS_ACCOUNT.Active, dbo_MFS_ACCOUNT_REP_COMMISSION.Active, dbo_MFS_SALESPERSON.Active
HAVING (((dbo_MFS_ACCOUNT.CreateDate) Between #1/1/2008# And GetAllDate(#12/31/2008#)) AND ((dbo_MFS_ORDER.InvoiceDate) Between #1/1/2008# And GetAllDate(#12/31/2008#)) AND ((dbo_MFS_ACCOUNT.Active)="Yes") AND ((dbo_MFS_ACCOUNT_REP_COMMISSION.Active)="Yes") AND ((dbo_MFS_SALESPERSON.Active)="Yes"));
thanks
SELECT dbo_MFS_ACCOUNT.AccountID, dbo_MFS_ACCOUNT.AccountName, dbo_MFS_ACCOUNT.CreateDate, dbo_MFS_ORDER.InvoiceDate, Sum(dbo_MFS_ORDER.OrderSubtotal) AS SumOfOrderSubtotal, dbo_MFS_REGIONALMGR.Territory, dbo_MFS_REPGROUPS.GroupName
FROM ((dbo_MFS_ACCOUNT INNER JOIN dbo_MFS_ORDER ON dbo_MFS_ACCOUNT.AccountID = dbo_MFS_ORDER.AccountID) INNER JOIN ((dbo_MFS_ACCOUNT_REP_COMMISSION INNER JOIN dbo_MFS_SALESPERSON ON dbo_MFS_ACCOUNT_REP_COMMISSION.SalesPersonId = dbo_MFS_SALESPERSON.SalesPersonID) INNER JOIN dbo_MFS_REGIONALMGR ON dbo_MFS_SALESPERSON.RegMgrID = dbo_MFS_REGIONALMGR.RegMgrID) ON (dbo_MFS_ORDER.AccountID = dbo_MFS_ACCOUNT_REP_COMMISSION.AccountId) AND (dbo_MFS_ORDER.ShipToStoreID = dbo_MFS_ACCOUNT_REP_COMMISSION.StoreId)) INNER JOIN dbo_MFS_REPGROUPS ON dbo_MFS_SALESPERSON.GroupID = dbo_MFS_REPGROUPS.ID
GROUP BY dbo_MFS_ACCOUNT.AccountID, dbo_MFS_ACCOUNT.AccountName, dbo_MFS_ACCOUNT.CreateDate, dbo_MFS_ORDER.InvoiceDate, dbo_MFS_REGIONALMGR.Territory, dbo_MFS_REPGROUPS.GroupName, dbo_MFS_ACCOUNT.Active, dbo_MFS_ACCOUNT_REP_COMMISSION.Active, dbo_MFS_SALESPERSON.Active
HAVING (((dbo_MFS_ACCOUNT.CreateDate) Between #1/1/2008# And GetAllDate(#12/31/2008#)) AND ((dbo_MFS_ORDER.InvoiceDate) Between #1/1/2008# And GetAllDate(#12/31/2008#)) AND ((dbo_MFS_ACCOUNT.Active)="Yes") AND ((dbo_MFS_ACCOUNT_REP_COMMISSION.Active)="Yes") AND ((dbo_MFS_SALESPERSON.Active)="Yes"));