- - PR -
SQLクエリで集計
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-26 12:34
クエリ初心者です。
以下の集計を行うクエリをどなたか教えてください。 2つのテーブル【A】と【B】があります。 テーブル【A】は、フィールド【ID】(Key)と【NAME】から構成されています。 テーブル【B】は、フィールド【NO】(Key)と【ID】と【COST】から構成されています。 テーブル名【A】 フィールド名【ID】(Key) フィールド名【NAME】 テーブル名【B】 フィールド名【NO】(Key) フィールド名【ID】 フィールド名【COST】 具体的に以下のようなデータが格納されていた場合、 テーブル【A】 【ID】 【NAME】 000001 AAAAAA 000002 BBBBBB 000003 CCCCCC テーブル【B】 【NO】 【ID】 【COST】 1 000001 10 2 000001 20 3 000002 100 4 000003 1000 5 000002 200 6 000003 2000 欲しい集計結果は以下のとおりです。 AAAAAA 30 BBBBBB 300 CCCCCC 3000 この結果を導き出すクエリを教えて頂きたく、 よろしくお願いします。 OS:Win2000 DB:Access2000 |
|
投稿日時: 2006-08-26 12:49
内容的にはこちらよりも、DataBaseExpert掲示板のような気もします。
その前にSQLの集計について調べてみることもお勧めします。 それはさておきSQL文で行うならば SELECT A.NAME, SUM(B.COST) AS COST FROM A INNER JOIN B ON (A.ID = B.ID) GROUP BY A.NAME で済みますが、もしテーブルAのNAMEフィールドで重複があるのでしたら、 サブクエリを利用する必要があると思います。Accessで行うならば、 テーブルBを集計するクエリと、その結果にテーブルAの名称をリンクして抽出 するクエリ、と2段構成にするのがいいのかな、と考えました。 #Accessで、ASを利用した別名は利用できたかどうか自信ないです・・・ [ メッセージ編集済み 編集者: Ahf 編集日時 2006-08-26 12:53 ] |
|
投稿日時: 2006-08-26 13:09
Ahfさん、
早速のお返事ありがとうございます。 希望していた集計結果を得ることができました。 感謝致します。 今後ともよろしくお願いします。 |
1