データベースの作成を開始しました。「注文したアイテム」と「請求書」のテーブルがあります。顧客が選んだ商品の価格を合計する方法を知りたいです。同様に、この「ルール」をデータベースのどこに配置しますか。
6 に答える
SQL「Sum()」関数が必要です。たとえば、こちらをご覧ください。
あなたの投稿には詳細が欠けているので、私は多くの仮定をしなければなりません(MS SQLを使用していることが最大です)が、うまくいきません。この設定が近くない場合は、テーブルの作成とサンプルデータを投稿してください。それは私たちに大いに役立ちます。
declare @Item table (ItemId int, ItemDesc varchar(50), Price money)
declare @Invoice table (InvoiceId int, CustomerName varchar(50), ShipDate datetime)
declare @OrderedItem table (InvoiceId int, ItemId int, Quantity int)
insert into @Item
select 1, 'Hat', '10.99' union
select 2, 'Shirt', '12.50' union
select 3, 'Belt', '5.99'
insert into @Invoice
select 1, 'Nathan', '01-01-2009'
insert into @OrderedItem
select 1, 1, 2 union -- 2 hats
select 1, 2, 3 -- 3 shirts
select i.InvoiceId,
sum(Quantity) [TotalItems],
sum(Price * Quantity) [TotalPrice]
from @Invoice i
inner
join @OrderedItem oi on
i.InvoiceId = oi.InvoiceId
inner
join @Item it on
oi.ItemId = it.ItemId
group
by i.InvoiceId
Access のすべてのバージョンに同梱されている Northwind サンプル データベースには、便利な例が多数含まれています。ここからダウンロードすることもできます。特に気になるオーダーフォーム、売上分析フォーム、インボイスレポートが見つかると思います。
基本的には、クエリを作成し、そのクエリの結果を請求書テーブルに入力します。Codererが言ったように、sum()関数を使用します。グラフィカルクエリエディタを使用している場合は、合計を有効にして([表示]-> [合計])、合計タイプをデフォルトの[グループ化]ではなく[合計]に設定する必要があります。
MS Accessを使用している場合、通常、SUM関数は表示されたフィールドの1つのレポートの一部として使用されます。
SQL 言語には、テーブルであるデータ構造が 1 つしかありません。したがって、ユーザーが選択したアイテムをテーブルに配置し、このテーブルから価格を含むテーブルに結合し、セット関数 SUM() を使用して合計価格を取得できます。あなたは SQL 言語にあまり慣れていないように聞こえますが、実際に MS Access を使用している場合は、役立つウィザードがあります。この種の構成を「合計クエリ」と呼びます。