2008年1月から12月の年金の詳細を12テーブルにまとめたデータベースがあります。12カ月間の合計12カ月分decを介して)。多くのテーブルを使用したMSアクセスクエリ
どのようにクエリを記述しますか?
2008年1月から12月の年金の詳細を12テーブルにまとめたデータベースがあります。12カ月間の合計12カ月分decを介して)。多くのテーブルを使用したMSアクセスクエリ
どのようにクエリを記述しますか?
なぜ12種類のテーブルがありますか?それは根本的に悪いデザインです。
とにかく...
Select
EmployeeID, Total2008 = Sum(Value)
From
(Select EmployeeID, Value From JanuaryTable
Union All
Select EmployeeID, Value From FebruaryTable
...
Select EmployeeID, Value From DecemberTable)
Group By
EmployeeID
あなたはこのデザインを再考したい、と代わりにMONTHとYEARを示すために列を持つ単一のテーブルを有することができます。
あなたの現在の設計を考えると、クエリが(明らかに、あなた自身のテーブル名とフィールド名を置き換えて)次のようになりする必要があります。
まず、このクエリを作成して、「月刊合計」として保存します。
SELECT EmployeeId AS EmployeeNumber, SUM(Pension_Amount) AS Pension_Totals
FROM Pension_January
GROUP BY EmployeeId
UNION ALL
SELECT EmployeeId, SUM(Pension_Amount)
FROM Pension_February
GROUP BY EmployeeId
UNION ALL
.....Other months.....
UNION ALL
SELECT EmployeeId, SUM(Pension_Amount)
FROM Pension_December
GROUP BY EmployeeId;
第二に、最初に参照する別のクエリを作成します。
SELECT
[Monthly Totals].EmployeeNumber,
SUM([Monthly Totals].Pension_Totals) AS Employee_Total
FROM [Monthly Totals]
GROUP BY [Monthly Totals].EmployeeNumber;
今2番目のクエリを保存し、それを実行します。それはあなたに必要なものを与えるはずです。
月に1つのテーブル?ああ、私。それはやってはいけないことです。 – duffymo