編輯:請參閱下面的新信息,在更新。訪問2010 - SQL查詢 - 計數Iif聯盟所有錯誤
我有一個有4個表的Access數據庫:表1,2,3和4. 每個表有4列:ID,日期,名稱和項目。
我試圖設計一個查詢,它會根據日期和名稱對產品列中的唯一值進行計數。例如,當我運行查詢時,它應該顯示日期,個人姓名以及適用聯繫人的「項目」列中單詞「Apple」出現次數的總計數。
我使用的是計數Iif來計算出現次數並聯合所有結合我的表。 (示例代碼如下)
問題:
我的查詢只提供一個來自兩個表的計數,而不是全部四個。我無法確定爲什麼,需要幫助來隔離問題。
我現在能夠獲得信息來統計所有四個表中的數據(通過從頭開始重新創建它,感嘆)。但是,現在它爲每桌提供了總數,我希望它能夠從所有4個表中提供總計。例如:當我想查詢/報告只給我蘋果總數(6)時,它向我展示了表1的總共1個蘋果,表2的3個蘋果,表3的3個蘋果。我可能在這裏忽略了一些東西。
更新:我決定創建一個全新的虛擬信息數據庫,並手動重新輸入代碼(以安撫老神)並......它的工作原理。這個問題在技術上已經解決了。我現在必須弄清楚爲什麼它不給我一個「總數」。
下面是SQL的一個例子:
SELECT Table1.Date, Table1.Name, Count(IIf([Table1]![Item]="Apples",1,Null)) AS CountApples, Count(IIf([Table1]![Item]="Oranges",1,Null)) AS CountOranges, Count(IIf([Table1]![Item]="Pears",1,Null)) AS CountPears
FROM Table1
GROUP BY Table1.Date, Table1.Name
HAVING (((Table1.Date) Between [SS/SS/SS] And [EE/EE/EE]) AND ((Table1.Name) Like [Name]))
UNION ALL
SELECT Table2.Date, Table2.Name, Count(IIf([Table2]![Item]="Apples",1,Null)) AS CountApples, Count(IIf([Table2]![Item]="Oranges",1,Null)) AS CountOranges, Count(IIf([Table2]![Item]="Pears",1,Null)) AS CountPears
FROM Table2
GROUP BY Table2.Date, Table2.Name
HAVING (((Table2.Date) Between [SS/SS/SS] And [EE/EE/EE]) AND ((Table2.Name) Like [Name]))
UNION ALL
SELECT Table3.Date, Table3.Name, Count(IIf([Table3]![Item]="Apples",1,Null)) AS CountApples, Count(IIf([Table3]![Item]="Oranges",1,Null)) AS CountOranges, Count(IIf([Table3]![Item]="Pears",1,Null)) AS CountPears
FROM Table3
GROUP BY Table3.Date, Table3.Name
HAVING (((Table3.Date) Between [SS/SS/SS] And [EE/EE/EE]) AND ((Table3.Name) Like [Name]))
UNION ALL
SELECT Table4.Date, Table4.Name, Count(IIf([Table4]![Item]="Apples",1,Null)) AS CountApples, Count(IIf([Table4]![Item]="Oranges",1,Null)) AS CountOranges, Count(IIf([Table4]![Item]="Pears",1,Null)) AS CountPears
FROM Table4
GROUP BY Table4.Date, Table4.Name
HAVING (((Table4.Date) Between [SS/SS/SS] And [EE/EE/EE]) AND ((Table4.Name) Like [Name]));
你的「分組依據」的樣品表2中有「Table1.Name」。這應該有效果,但我沒有看到任何其他錯誤。我會檢查你的實際代碼是否有類似的問題。 – PKatona
感謝PKatona。我仔細檢查了原始語法,發現沒有錯誤。我也刪除並重新創建了數據庫並進行查詢,看看這是否只是一個Access怪癖。遺憾的是沒有解決這個問題。 –
你是否分別運行每個查詢來驗證結果? – PKatona