• 締切済み

集計クエリー

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

  • 集計表、グラフの作成について

    いつもお世話になっております。 AccessのDBからの集計表、グラフの作成につてお聞きしたいです。 AccessでEXCELのような集計表を作る場合、クロス集計クエリかピボットテーブルを使用するかと思うのですが、こういった表の体裁は変更がききませんよね? 例えば会議で使うグラフや表の資料を作成する場合、AccessのDBのほうから必要なデータ(ある程度集計抽出したデータ)をエクスポートしてEXCELのピボットテーブルで表を作成し、このデータを別シートにコピーして表の体裁の変更やグラフの作成をしています。 内容によっては結構時間がかかるので、表を作成するのに何か効率の良い方法はないでしょうか?

  • Accessのクエリによる集計が出来ない

    Accessのクエリによる集計が出来ない kamuycikapです。 OKWaveで様々な方のアドバイスを頂きながら、慣れないAccessと悪戦苦闘しております。 一昨日、計算したい表を作成する為にOKWaveに質問を載せました。 http://okwave.jp/qa/q5549286.html 無事に上記のアドバイスでリレーションのオプション設定を行い、集計計算したいクエリの結果を表示することが出来ました。 その表を元にして 下記の質問でアドバイス頂いた方法による集計を行おうとしたのですが、集計出来なくて困っています。 http://okwave.jp/qa/q5544785.html データベースの構成とキーは以下のとおりです。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 Kがキーになります。 ■テーブルA      ■テーブルB    ■テーブルC    ■テーブルD K納品書コード --> K納品書コード --> K納品書コード  --> K納品書コード 仕入数          K商品コード  --> K商品コード   --> K商品コード                             K商品連番    --> K商品連番                             出品数量        K出品連番                             商品名           発送個数                             色             発送日付                             サイズ                             売値 ※テーブルCからテーブルDへのリレーションオプションを「’テーブルC’の全レコードと’テーブルD’の同じ 結合フィールドのレコードだけを含める。」としています。 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ  納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計)  発送個数 ○出品在庫数(演算)  [出品数量]-[発送個数] ○倉庫在庫(演算)  [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示され、テーブルDに紐つけられたレコードも表示されるが、テーブルDに入力されている20件のデータが商品連番(テーブルCのフィールド)ごとに集計されない。 --ここまで <目的> お店に出品された商品は、日を分けて少しずつ売れていきます。(一日で全部売れることもありますが....) 従って、出品された商品(テーブルCのデータ)に対して売れていく数(テーブルDの複数のレコード)のデータがぶら下がっている形になります。 このようなデータベースですので、出品した商品が何個売れたかを計算する為には、商品に対する売れた個数を集計(合計)しなければなりません。 <結果> テーブルCの商品連番ごとの発送個数を集計したいのですが、テーブルDの出品連番ごとの集計になっている様子です。 <頂きたいアドバイス> 上記のデータベースとクエリで、テーブルCの商品連番に紐ついたテーブルDに格納されている発送個数の合計値を集計するための方法 以上、識者の方のアドバイスをお願い致します。

  • Access2007でのクエリの集計

    今Access2007を使って月別に商品の売上を集計するものを作っています。 そこで売上を月別で集計することはできたのですが、月で売上の無い物は集計できずに空白が表示されてしまいます。それで空白に0を入れたいのですが、やり方がいまいちわかりません。 どうやったらいいか教えてください。お願いします

  • Accessでの集計

    Accessのテーブル作成クエリで売上Aと売上Bというテーブル作成しました。「売上A」と「売上B」というテーブルをを用いて「結果」という集計表を作成したいと思っています。 どの様に行えばよいでしょうか? OS:WinXP Access2003です。

  • Accessの集計クエリで0カウント集計させない

    Accessの集計クエリで顧客のカルテ番号データからカウント集計クエリで一日の人数を表示しているのですが、 来店客が0の時(0)と入力してもカウント集計クエリでは1とカウントされてしまいます、 どうすれば来店客が0の時(0)と入力してもカウントされなくなるでしょうか

  • Accessのクエリ集計について

    Accessのクエリ集計について kamuycikapです。 テーブルを集計するクエリについて悩んでいます。 以下がテーブルの状況と試行錯誤しているクエリ。 そして実行結果の箇条書きです。 非常に長文ですが、識者の方のアドバイスをお願い致します。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 ■テーブルA      ■テーブルB    ■テーブルC    ■テーブルD 納品書コード ーー> 納品書コード ーー> 納品書コード  ーー> 納品書コード 仕入数          商品コード  ーー> 商品コード   ーー> 商品コード                               商品連番    ーー> 商品連番                               出品数量        出品連番                               商品名           発送個数                               色             発送日付                               サイズ                               売値 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ  納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計)  発送個数 ○出品在庫数(演算)  [出品数量]-[発送個数] ○倉庫在庫(演算)  [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示されず、テーブルDに紐つけられたレコードのみが表示されるため、約300件のデータではなく、テーブルDに入力されている20件しか表示されない。 --ここまで 目的は、テーブルCのデータを全て表示し、発送情報がテーブルDに入力されているデータについては演算結果を表示する事です。 現状では、テーブルDのデータしかテーブルCのレコードが表示されません。。。。 どうすれば目的のデータを収集できるクエリが作成で切るのか、識者の方のアドバイスをお願いします。

  • Accessの集計クエリで計算

    Microsoft Access2016において、クロス集計クエリに表示される数値を使って計算をするには、どこにどんな数式を入力すれば良いですか。テーブルに表示される数値ではなく、クロス集計クエリで計算された合計の値を使 います

  • エクセルで月次集計

    いつもお世話になります。 一生懸命検索をしたのですが、よくわからなかったので質問させてください。 エクセルで簡単な現金出納帳があります。 A列は上から○月○日と日ごとに入力し、B列に入金、C列に出金を入力していきます。表そのものは1年間を単純に入れていきます。 別シートに各月ごとの入金・出金合計を関数で集計したいのですが、SUMIFを使っても条件の設定がわかりません。 実際の入力は4/10と入力しています。セルの表示は4月10日と表示され上の窓?には2006/4/10と表示されています。 初歩的な質問だと思いますが、助けてください。御願い致します。

  • accessでの条件付き集計

    初歩的なことなのですが、分からないのでお願いします。アクセス2000を使っています。テーブルのデータをレポートで表示したいのですが、レポートフッターでデータの個数を表示したいと思っています。総数はcountを使って出来たのですが、条件を付けた時の集計はできないのでしょうか?たとえばAで始まる物の個数とかを集計したいと思っています。

  • 集計クエリ

    Accessの資格試験の勉強していますが、練習問題の中に正誤を判断する問題があり、 「集計を行うフィールドに対して抽出条件を設定した場合、データシートビューには抽出条件を満たすレコードのみを集計した結果が表示される」 この答えが「誤り」でした。 でも何が誤りなのかわかりません。 すごく困っています。わかる方どうぞ教えてください。 よろしくお願いします。