アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
アクセスの超初心者です。
顧客リストのテーブルがあります。
売上伝票フォームで顧客名と売上金を入力します。
ある一定期間で売上げで

顧客名   売上金
A社   ¥200
B社     ¥0
C社   ¥400
D社     ¥0

このようなクエリを作成するにはどうしたらよいのでしょうか?
売上げのある顧客の抽出は出来るのですが、売上げのない顧客の
売上げを「¥0」として反映させる方法がわかりません。

よろしくお願い致します。

A 回答 (2件)

> 売上げのある顧客の抽出は出来るのですが、売上げのない顧客の


> 売上げを「¥0」として反映させる方法がわかりません。

売上げのない顧客 → データが無い(顧客として存在しない)

と、言う事で・・・「¥0」を作成するなら、集計する部分と、顧客名をリスト化する部分を別物にすれば、簡単にできると思いますが・・・

上記、質問されている内容からは、この程度の回答が限界かな?
もう少し詳しくなら・・・データサンプルあたり、作成して質問してみてね
    • good
    • 0

<顧客リスト>テーブル


顧客ID顧客名
1A社
2B社
3C社
4D社

<売上データ>テーブル
ID顧客ID売上金
11\1,000
23\2,000
31\3,000
43\4,000

クエリ
SELECT 顧客リスト.顧客ID, First(顧客リスト.顧客名) AS 顧客名の先頭, Sum(売上データ.売上金) AS 売上金の合計
FROM 顧客リスト LEFT JOIN 売上データ ON 顧客リスト.顧客ID = 売上データ.顧客ID
GROUP BY 顧客リスト.顧客ID;

クエリの結果
顧客ID顧客名の先頭売上金の合計
1A社\4,000
2B社
3C社\6,000
4D社

単純にテーブルを結合して、集計した場合は、データが無い顧客は ¥0ではく
NULLになります。

どうしても、¥0にしたければ・・
1つのクエリではなく、先ず売上の無い顧客もリストUPするクエリを作成し
そのクエリを元に、集計するしかないですね。

<クエリ>名前:Q_売上リスト
SELECT 顧客ID,顧客名, 0 AS 金額
FROM 顧客リスト;
UNION ALL SELECT 顧客ID,"",売上金 from 売上データ;

Q_売上リストクエリの結果
顧客ID顧客名金額
1A社\0
2B社\0
3C社\0
4D社\0
1\1,000
3\2,000
1\3,000
3\4,000

このクエリを元に、クエリを作成します。

クエリ
SELECT Q_売上リスト.顧客ID, Max(Q_売上リスト.顧客名) AS 顧客名, Sum(Q_売上リスト.金額) AS 売上金額
FROM Q_売上リスト
GROUP BY Q_売上リスト.顧客ID;

クエリの結果
顧客ID顧客名売上金額
1A社\4,000
2B社\0
3C社\6,000
4D社\0

参考にしてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!