• 締切済み

集計クエリー

ACCESS2010で テーブル 入金、テーブル 出金 を作成して1年(毎月)の集計をしていますが、どちらかのテーブルにデータがないと、集計表にした時、データがない月が表示できません。いまはデータがない月に、(0)を入れています。(0)を入れなく出来ないものでしょうか。

みんなの回答

回答No.3

他の方の回答のように年月マスターを作成しておいて外部結合するというのがいいでしょうね。 例 年月マスター テーブル 年月      フィールド 201401 201402 201403 201404 それを作らずにするなら、入金、出金の2つのテーブルをユニオンクエリで結合してからそれを集計クエリにすればいいでしょう。 例 Q_入出金 SELECT Format(日付,"yyyymm") AS 年月, 科目コード, 入金額, 0 As 出金額 FROM 入金 UNION ALL SELECT Format(日付,"yyyymm") AS 年月, 科目コード, 0 As 入金額, 出金額 FROM 出金; このクエリを基に集計クエリを作成。 SELECT 年月, 科目コード, Sum(入金額) As 入金計 , Sum(出金額) As 出金計 FROM Q_入出金 GROUP BY 年月, 科目コード;

lcd-h32
質問者

お礼

集計クエリではできないことはわかりました。SQLを勉強してユニオンクエリに挑戦します。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

集計月を正規化して別テーブルにつくっておいてouter joinするとか・・・ 結局なんらかのデータがなければ表示できないですからね

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

ブランクでよいなら、年月のみのテーブルを作り集計クエリをleft join させるとか、 ゼロを入れたいなら、0でレコードを一件作っておくとか。

関連するQ&A