Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


205 / 2272 ツリー ←次へ | 前へ→

【12550】AccessSQLでROLLUPを使いたい hor-oku 14/5/23(金) 13:41 質問[未読]
【12551】Re:AccessSQLでROLLUPを使いたい hatena 14/5/28(水) 16:24 回答[未読]
【12564】Re:AccessSQLでROLLUPを使いたい hor-oku 14/6/9(月) 15:20 お礼[未読]

【12550】AccessSQLでROLLUPを使いたい
質問  hor-oku  - 14/5/23(金) 13:41 -

引用なし
パスワード
   Win7Pro+Access2013を使用しています。

クエリで「小計」を出力したいと思い、SQLのROLLUPを使えば
いいと聞いたので下記SQLを書きましたが上手く出来ません。

SELECT uriage.コード,uriage.担当名,uriage.県名,Sum(uriage.金額) AS 金額の合計
FROM uriage
GROUP BY ROLLUP(uriage.コード,uriage.担当名,uriage.県名)

エラーで「式に未定義関数 ROLLUP があります

とメッセージが表示されます。

どなたか解る方おられましたらご教授ください。
よろしくお願いします。

元データ
コード 担当名 県名 金額
1   AAA  ZZZ  100
1   AAA  YYY  100
2   BBB  XXX  200


出したい実行結果
コード 担当名 県名 金額
1   AAA  ZZZ  100
1   AAA  YYY  100
          200
2   BBB  XXX  200

【12551】Re:AccessSQLでROLLUPを使いたい
回答  hatena  - 14/5/28(水) 16:24 -

引用なし
パスワード
   >クエリで「小計」を出力したいと思い、SQLのROLLUPを使えば
>いいと聞いたので下記SQLを書きましたが上手く出来ません。
>
>SELECT uriage.コード,uriage.担当名,uriage.県名,Sum(uriage.金額) AS 金額の合計
>FROM uriage
>GROUP BY ROLLUP(uriage.コード,uriage.担当名,uriage.県名)
>
>エラーで「式に未定義関数 ROLLUP があります
>
>とメッセージが表示されます。

AccessのSQLはROLLUPには対応してません。

代替案ですが、ユニオンクエリで集計クエリと連結すればどうでしょうか。


SELECT uriage.コード, uriage.担当名, uriage.県名, "" AS 項目, uriage.金額
FROM uriage
UNION ALL
SELECT uriage.コード, Null, Null, "合計" AS 項目, Sum(uriage.金額)
FROM uriage
GROUP BY uriage.コード, Null, Null, "合計"
ORDER BY uriage.コード, 項目;

【12564】Re:AccessSQLでROLLUPを使いたい
お礼  hor-oku  - 14/6/9(月) 15:20 -

引用なし
パスワード
   返信ありがとうございます。

一度試してみます。


▼hatena さん:
>>クエリで「小計」を出力したいと思い、SQLのROLLUPを使えば
>>いいと聞いたので下記SQLを書きましたが上手く出来ません。
>>
>>SELECT uriage.コード,uriage.担当名,uriage.県名,Sum(uriage.金額) AS 金額の合計
>>FROM uriage
>>GROUP BY ROLLUP(uriage.コード,uriage.担当名,uriage.県名)
>>
>>エラーで「式に未定義関数 ROLLUP があります
>>
>>とメッセージが表示されます。
>
>AccessのSQLはROLLUPには対応してません。
>
>代替案ですが、ユニオンクエリで集計クエリと連結すればどうでしょうか。
>
>
>SELECT uriage.コード, uriage.担当名, uriage.県名, "" AS 項目, uriage.金額
>FROM uriage
>UNION ALL
>SELECT uriage.コード, Null, Null, "合計" AS 項目, Sum(uriage.金額)
>FROM uriage
>GROUP BY uriage.コード, Null, Null, "合計"
>ORDER BY uriage.コード, 項目;

205 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free