Folks。我似乎無法找到這個問題的答案。我可以在SQL Server中執行此操作,但我現在正在使用Access 2013,而我通常的SQL技巧似乎無法正常工作。從MS Access中的多個表中總計總計
我需要創建班級成本與收入總結報告。
我有三個表:班級列表,成本列表,註冊列表。成本和註冊(成本&收入)都通過在所有表中標識該類的關鍵字段與班級列表相關聯。
我能夠運行成本報告或收入報告,並且每個班級的總計都很好,但是當我組合它們以獲取每個班級的淨額時,成本會乘以註冊中的行數報告,反之亦然。
我試過使用外部連接,但訪問不喜歡它,即使在正確的地方[]。將excel留在訪問中會更好,因爲離開excel是整個重點。
這裏的壞結果背後的SQL。我知道這些連接是錯誤的,但我無法訪問接受任何其他類型的連接。
SELECT DISTINCTROW Classes.ID,
Classes.Title,
Classes.Instructor,
Classes.Date,
Sum(Costs.Amount) AS [Sum Of Amount],
Sum(Registrations.Tuition) AS [Sum Of Tuition],
Count(*) AS [Count Of Classes]
FROM (Classes
LEFT JOIN Registrations ON Classes.[ID] = Registrations.[Class ID])
LEFT JOIN Costs ON Classes.[ID] = Costs.[Class ID]
GROUP BY Classes.ID,
Classes.Title,
Classes.Instructor,
Classes.Date;
有什麼建議嗎?提前致謝。
爲成本和收入彙總查詢構建一個彙總查詢,然後將2個彙總查詢加入到班表列表中。 – June7
歡迎來到SO。首先,請參閱[左和右連接操作](https://support.office.com/zh-cn/article/LEFT-JOIN-RIGHT-JOIN-Operations-ebb18b36-7976-4c6e-9ea1-c701e9f7f5fb)。 SQL語法(包括JOIN關鍵字)與SQL Server不同。 –
您提到了「SQL技巧」,「任何其他類型的連接」以及「在SQL Server中執行此操作」的功能。如果你已經嘗試過這樣的事情,或者如果你認爲其他語法在其他地方有效,那麼可以將這樣的例子包括在內,而不是僅僅提及它們。這不僅可以提供可操作的東西,還可以揭示可能不會用文字表達的細節。我沒有看到任何聯接或語法如何讓您執行單個查詢來獲取不同表上的聚合。即使它們是子查詢,也需要分別總結成本和學費。 –