2013-02-14 2 views
0

меня жуткая база данных от клиента, и мне нужно подсчитать количество результатов запроса, который выглядит следующим образом:Грозного доступа проблема базы данных

SELECT 
    Offices.OfficeID 
, ContractsBooksCommodities.CommodityID 
    FROM ((((Offices 
INNER JOIN tbl_Sales 
     ON Offices.CompanyID = tbl_Sales.CompanyID) 
INNER JOIN ContractBooks 
     ON tbl_Sales.CompanyID = ContractBooks.CompanyID) 
INNER JOIN ContractsBooksAds 
     ON ContractBooks.ContractNum = ContractsBooksAds.ContractNum) 
INNER JOIN ContractsBooksBrands 
     ON ContractsBooksAds.ContractNum = ContractsBooksBrands.ContractNum) 
INNER JOIN ContractsBooksCommodities 
     ON ContractsBooksBrands.ContractNum = ContractsBooksCommodities.ContractNum; 

Как я могу сделать это подсчитать количество записей вернулся?

ответ

0

COUNT и GROUP BY будет мое предположение:

SELECT Offices.OfficeID, ContractsBooksCommodities.CommodityID, COUNT(*) AS COUNT 
FROM ((((Offices INNER JOIN tbl_Sales ON Offices.CompanyID = tbl_Sales.CompanyID) INNER JOIN ContractBooks ON tbl_Sales.CompanyID = ContractBooks.CompanyID) INNER JOIN ContractsBooksAds ON ContractBooks.ContractNum = ContractsBooksAds.ContractNum) INNER JOIN ContractsBooksBrands ON ContractsBooksAds.ContractNum = ContractsBooksBrands.ContractNum) INNER JOIN ContractsBooksCommodities ON ContractsBooksBrands.ContractNum = ContractsBooksCommodities.ContractNum 
GROUP BY Offices.OfficeID, ContractsBooksCommodities.CommodityID 
ORDER BY Offices.OfficeID, ContractsBooksCommodities.CommodityID 
+1

Если вы не можете заставить запрос COUNT работать по какой-либо причине, вы можете попробовать только выполнить запрос, а затем использовать свойство RecordCount на объекте Recordset (обратите внимание, что вам, возможно, придется сначала вызвать MoveLast). http://msdn.microsoft.com/en-us/library/office/bb208624%28v=office.12%29.aspx –

3

В общем,

select count(*) 
from (
    your-select-query 
) 

даст вам количество записей, возвращаемых запросом.

Смежные вопросы