2016-12-29 62 views
1

我想拉一些彙總,並與它有認識我的所有記錄的問題。這裏是我當前的代碼:Access查詢問題(SQL)

SELECT Contacts.[Date Added], Count(Contacts.[Customer Last Name]) AS [Records Per Day], (Round(45000)-Count([Customer Last Name]))\(Count([Date Added]<=Date())) AS [Days Till Completion], Count(*) AS Expr1 
FROM Contacts 
WHERE (((Contacts.[Date Added])>=Date()-1)) 
GROUP BY Contacts.[Date Added]; 

目前,它正顯示出很多多少記錄被每天進入(我需要),但它不會顯示多少條記錄在表中的總。如果我分開查詢,我可以讓他們單獨工作,但我不能合併他們。我需要這個信息,所以我可以構建出所有這些數據的報告,我一直試圖建立一個使用兩種不同的查詢報告,但它不會工作。 任何幫助,將不勝感激!

+1

你不能讓所有的記錄,並有一個where子句.. where子句限制你的結果,這樣你就不會得到「所有記錄」(因此你不能指望你通過一個where子句遺漏了什麼)你需要使用'case'或'iif'(我不認爲訪問用例)語句而不是使用where子句有條件地計數(總和)記錄。 – xQbert

+0

您可以嘗試爲此使用子查詢。 –

+0

我想你應該多增加一些'('和')'秒。 – Hogan

回答

0

你需要某種形式的子查詢。 Here are more types.

SELECT Contacts.[Date Added] 
    , Count(Contacts.[Customer Last Name]) AS [Records Per Day] 
    , (Round(45000)-Count([Customer Last Name]))\(Count([Date Added]<=Date())) AS [Days Till Completion] 
    , Count(*) AS Expr1 
    , (Select count(*) from Contacts where ((Contacts.[Date Added])>=Date()-1)) as TotalCount 
    FROM Contacts 
    WHERE (((Contacts.[Date Added])>=Date()-1)) 
    GROUP BY Contacts.[Date Added]; 
+0

好吧,我會試試看。我之前添加子查詢時遇到了問題。堅持說我不能把兩個查詢合併成一個。但我現在檢查你的鏈接,看看我能學到什麼。謝謝!! – Deke

+0

我正在啞巴(假日的我有沒有想過工作)。我已經添加了一個子查詢,並修復了我的所有問題:-)感謝大家的幫助! – Deke

0

您可以根據這個例子構建查詢:

WITH GROUPS AS (
SELECT 'a' item ,222 total 
UNION 
SELECT 'b' item ,778 total 
) 
select item, total ,(select sum(total) from GROUPS) as grand_total 
from GROUPS 

你的情況「組」是你寫的原始查詢,一共是你的「記錄每一天」字段。