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

アクセスでQuantityの刻みごとに合計を出したいのですが、クエリーの良い知恵が浮かびません。

現状のデータとしては
郵便番号
出荷指示番号
Quantity 

があり、これを郵便番号ごとに1トン以下の合計、2トン以下の合計、3トン以下の合計、が一行に表示されるというクエリーを作りたいのです。

自分でも考えてみたのですが、Quantityを並べ<1, betwen 1.1 and 2 とやると<1の条件に当てはまるものだけが抽出されるか、あるいは条件に当てはまるものなしとなってしまうのです。

なにか良い解決策がありましたらお教え下さい。

A 回答 (2件)

Accessはあまり使いませんが、Excelでも何でも、通常こういうことをする場合には「Quantityの刻みごと」の欄を作ってそれごとに合計をとればよいのではないかと。


例えば、クエリにINT(Quantity)とかでトン数の整数値を導出する式フィールドを作ればできるんじゃないでしょうか。
    • good
    • 0

>良い解決策がありましたらお教え下さい。


良いかはわかりませんが簡単にやるには1トン以下の合計、2トン以下の合計、3トン以下の合計の表示であれば3つのクエリを作りネストすれば出来ます。
郵便番号ごとの全ての合計、2トン以下の合計、3トン以下の合計のクエリを別々に作り郵便番号ごとにグループ化し合計を出しておきます。
郵便番号ごとの全ての合計のクエリに2トン以下の合計、3トン以下の合計のクエリをテーブル追加し郵便番号同士をドラッグし結合します。結合プロパティで全ての合計のクエリの全レコードと2トン以下の合計クエリの同じフィールドのレコードをだけを含める(LEFT JOIN)にします。
3トン以下の合計のクエリも同様に全ての合計のクエリの全レコードと同じフィールドのレコードをだけを含めるにします。
2トン以下の合計クエリと3トン以下の合計のクエリの合計のフィールドをクエリに追加し集計欄はグループ化でも合計でも同じ結果になると思います。
1トン以下の合計は新しいフィールドに
1トン以下合計:[全ての合計]-Nz([2トン以下の合計])-Nz([3トン以下の合計])
とすれば算出できます。
これが簡単だと思いますが。

SQLなら
クエリ名  合計フィールド名
2t以下合計.2t金額合計
3t以下合計.3t金額合計
とした場合。

SELECT [1t以下合計].郵便番号, Sum(nz([1t金額合計])-nz([2t金額合計])-nz([3t金額合計])) AS 1t以下合計, Sum([2t以下合計].[2t金額合計]) AS 2t金額合計の合計, Sum([3t以下合計].[3t金額合計]) AS 3t金額合計の合計
FROM (1t以下合計 LEFT JOIN 2t以下合計 ON [1t以下合計].郵便番号 = [2t以下合計].郵便番号) LEFT JOIN 3t以下合計 ON [1t以下合計].郵便番号 = [3t以下合計].郵便番号
GROUP BY [1t以下合計].郵便番号
ORDER BY [1t以下合計].郵便番号;
これで行けると思います。
    • good
    • 0

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