-1

顧客のすべての請求書の合計コストを取得しようとしています。理想的には、最終フォーマットは[顧客名]と[請求書の合計]の2列になります。これまでのところ、テーブルを結合するプロセスを確認して理解し、各請求書のアイテムの合計を取得するための計算を行ったので、それをパーツに分割しましたが、今は行き詰まっています。

スクリーンショットからわかるように(ここに画像を投稿できなかったため、Googleドキュメントにリンクする必要がありました-申し訳ありません)会社名が何度も表示されています。アイテムごとに1回、請求書番号ごとに1回、次にアイテムごとに1回。クエリを変更して、すべての請求書の対応する合計を組み合わせた顧客名を1回だけ表示するにはどうすればよいですか?

次のコメントとして3行目と4行目があるので、クエリを目的の出力に微調整する前に、これを段階的に実行できます。

ありがとう

4

3 に答える 3

1

このようなものは、とを使用して機能するはずSUMですGROUP BY

SELECT CustomerName, SUM(itemPrice * qty) InvoiceTotal
FROM YourTables With Your Joins
GROUP BY CustomerName

上記のクエリ全体を投稿した場合は、コピーして例に貼り付けることができます。しかし、これはあなたを正しい方向に向かわせるはずです。

于 2013-02-18T14:50:23.027 に答える
1
Select Customer.CustName, Sum(InvoiceItem.Quantity*Item.ItemPrice) As TotalValue
  From Customer
       Inner Join Invoice On Customer.CustABN = Invoice.CustABN
       Inner Join InvoiceItem On Invoice.InvoiceNo = InvoiceItem.InvoiceNo
       Inner Join Item On InvoiceItem.ItemNo = Item.ItemNo
 Group By Customer.CustName
于 2013-02-18T14:51:40.327 に答える
0

グループ化は役立つ可能性があります。また、dbmsが集約関数を使用せずにグループ化を許可するかどうかを確認する必要があります(一部のDBMSはそれを許可せず、誤解を招く結果を返します)。複数の会社は、私が推測する会社-請求書-製品の関係のためです。

于 2013-02-18T14:49:59.953 に答える