• 締切済み

クロス集計クエリで空レコードが作成されてしまいます

ganbaroの回答

  • ganbaro
  • ベストアンサー率45% (43/94)
回答No.2

SQLで GROUP BY 選択クエリ.年月, 選択クエリ.型式名 ORDER BY 選択クエリ.型式名 DESC でなく GROUP BY 選択クエリ.型式名,選択クエリ.年月 ORDER BY 選択クエリ.型式名 DESC にされていないため 年月主体になっています このため3行目が出ないのです

grapecouch
質問者

お礼

お返事が遅れて申し訳ありません。 >GROUP BY 選択クエリ.型式名,選択クエリ.年月 >ORDER BY 選択クエリ.型式名 DESC >にされていないため 年月主体になっています ご教授いただいた方法で試したのですが、上手くいきませんでした。 もう少し自分で考えてみたいと思います。 ご解答ありがとうございました。

関連するQ&A

  • クロス集計クエリについて

    アクセス2000を使っています。 クロス集計クエリのウイザードで下記を作成しましたが合計値が表示されません。 TRANSFORM Sum(納品書.数量) AS 数量の合計 SELECT 納品書.商品名, Sum(納品書.数量) AS [合計 数量] FROM 納品書 GROUP BY 納品書.商品名 PIVOT Format([年月日],"mmm") In ("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"); もともとのレコードは 年月日 商品名 数量 01/01/10 カメラ 50 02/01/15 ラジオ 50 02/01/15 テレビ 30 というような内容です。 #まだウイザード頼りのレベルです。

  • アクセス クロス集計クエリ 縦の合計

    テーブル1には 会社名 取引日 金額 A社 2014/01/01 ¥100 B社 2014/01/02 ¥200 A社 2015/01/01 ¥500 というデータがあります。 このテーブル1を基にクロス集計クエリで TRANSFORM Sum([テーブル1].[金額]) AS 金額の合計 SELECT [テーブル1].[会社名], Sum([テーブル1].[金額]) AS [合計 金額] FROM テーブル1 GROUP BY [テーブル1].[会社名] PIVOT Format([取引日],"yyyy"); というクエリを自動生成しました。 この時、横の合計ではなく縦の合計(年ごとの合計)を表示するには良いでしょうか? サブクエリというのを使うようですが、どうすればいいかわかりませn。 よろしくお願いします。

  • クロス集計について

    下記を実行すると 1月から12月まで、昨年度分(年度開始は4月)も表示してしまいます。 今10月なので、4月から10月まで表示させるにはどのようにしたらよいでしょうか。「月」は「1」「2」などの数値となっています。別に「年」は「2005」「2006」などとなっています。 TRANSFORM Sum(給与明細Tクエリ事業部.支給合計) AS 支給合計の合計 SELECT 給与明細Tクエリ事業部.社員名 FROM 給与明細Tクエリ事業部 GROUP BY 給与明細Tクエリ事業部.社員名 PIVOT 給与明細Tクエリ事業部.月;

  • クロス集計の値の表示(access)

    access2000でクロス集計を作成しましたが、値が空白の部分があり、CLng(値)で表示しようとするとエラーになります。下記の「Sum(マスター.金額)」の部分にCLngを付けるためにはどのようにしたらよいものでしょうか。 TRANSFORM Sum(マスター.金額) AS 金額の合計 SELECT マスター.収支区分, CLng(Sum(マスター.金額)) AS [合計金額] FROM マスター GROUP BY マスター.収支区分 PIVOT マスター.施設区分; #accessの初心者です。

  • Access クエリでレコードセット作成

    Access2010でVBAを勉強しています。クエリオブジェクトからレコードセットを作れるかお教えください。 クエリのデザイン作成で3つのテーブルからデータを抽出するクエリを作りました。 このクエリオブジェクトからレコードセットを作りたいと思っていますが、作り方がわかりません。 よってクエリオブジェクトのSQLビューでSQLを確認し、VBAの中で下記のようにSQLを作ってレコードセットを作っています。 これだと効率が悪いので、クエリオブジェクトから直接レコードセットがつくれないかと思っています。 方法がありましたらお教え下さい。よろしくお願いします。 strSQL = "SELECT master.[サイズ], master.単価," strSQL = strSQL & "Nz([入庫数量の合計])-Nz([出庫数量の合計]) AS 在庫数" strSQL = strSQL & " FROM (master LEFT JOIN Q_出庫 ON master.[サイズ] = Q_出庫.[サイズ])" strSQL = strSQL & " LEFT JOIN Q_入庫 ON master.[サイズ] = Q_入庫.[サイズ]" objADORS.Open "T_出庫", objADOCON, adOpenDynamic, adLockOptimistic

  • SQL文でクロス集計をしたい

    アクセスでクロス集計のSQL文で作りたいと思っています。 このようなデータがあります 年月 支払先 数量 金額 201301 A 10 1000 201302 A 5 500 201302 B 20 2000 201301 C 10 3000 201303 C 15 1500 このデータを下記のように表示したいのですが、 分からなくて困っています。 支払先  データ   201301 201302 201303 A 数量     10      5 A 金額 1000 500 B 数量      20 B 金額 2000 C 数量     10 15 C 金額 3000 1500 合計 数量 20 25 15 合計 金額 4000 2500 1500 どのようにすれば実現出来ますか? 今は、 SELECT 支払先, "数量" AS データ, Sum(IIf([年月]='201301',[数量],0)) AS 201301, Sum(IIf([年月]='201302',[数量],0)) AS 201302, Sum(IIf([年月]='201303',[数量],0)) AS 201303, FROM T_データ GROUP BY 支払先; のクロス集計を 数量と金額、数量の合計と金額の合計でクロス集計をしたクエリを UNIONで実現しています。 出来れば数量と金額は1つのクエリで実現したいと思いますが方法があれば教えて頂きたい と思います。 どうぞ、よろしくお願い致します。

  • Accessのクエリについて教えてください。

    クエリで顧客名を入力するとその人のデータが表示されるようにしたいのですが、購入履歴がない人は表示されません。購入履歴のない人も全て表示させる方法を教えていただけますか? ちなみにSQLはこういう感じです。よろしくお願いします。 SELECT 顧客マスター.顧客ID, 顧客マスター.氏名, Sum(販売.販売額) AS 販売合計 FROM 顧客マスター INNER JOIN 販売 ON 顧客マスター.顧客ID = 販売.顧客ID GROUP BY 顧客マスター.顧客ID, 顧客マスター.氏名 HAVING (((顧客マスター.氏名) Like [顧客名字を入力してください] & "*"));

  • Access2003 空レコード挿入

    レコード件数0件のテーブルに空レコードを1件挿入したいのですが、追加クエリで可能でしょうか? 可能な場合の方法、また他の方法についても教えてください。 Access初心者なのでVBA等詳しくありません。よろしくお願いします。

  • access 1対1と1対多のテーブルをクエリで集計したい…

    受注管理のデータベースを作っています。 売り上げを計算するクエリを作ったのですがどうもうまくいかないので質問します。 集計したいテーブルですが 受注マスタテーブル 注文番号(主キー テキスト型) 注文日(日付型) 氏名 : : 受注明細マスタテーブル 注文番号 (重複あり)受注マスタの注文番号と1対多のリレーションシップ 商品名 品番 販売単価 購入個数 経費・返品金額テーブル 注文番号(主キー)受注マスタの注文番号と1対1のリレーションシップ 経費 返品金額 これを、販売単価×購入個数-経費+返品金額というようにして1ヵ月ごとに集計しようとして、下のようなクエリを作ったのですが経費が何回も計算されてうまくいきませんでした… よろしくお願いします。 SELECT Format(注文者マスタ!注文日,"yyyy/mm") AS 月, Sum([受注明細マスタ]![販売単価]*[受注明細マスタ]![購入数量]-[経費・返品金額テーブル]![経費]+[経費・返品金額テーブル]![返品金額]) AS 売上 FROM (注文者マスタ RIGHT JOIN 経費・返品金額テーブル ON 注文者マスタ.注文番号 = 経費・返品金額テーブル.注文番号) LEFT JOIN 受注明細マスタ ON 注文者マスタ.注文番号 = 受注明細マスタ.注文番号 GROUP BY Format(注文者マスタ!注文日,"yyyy/mm");

  • ms access クエリの集計について

    こんにちは ms accessのクエリで、文字列として入力されている数字を数値扱いに直してその合計を出そうとしているのですが、特定の値を指定して合計を出そうとすると値がマイナスになってしまいます。 例 式1:sum(val(nz[フィールド名]))=1) フィールドに1とあるレコードを足して合計を出す場合です。値がマイナスになってしまいます。nzは別のクエリ使用時に空欄があるとまずいので入れてあります。 左隣で別のフィールドでグループ化し、ここでは演算を選択しています。