- PR -

データベース内のテーブルの集計の方法

1
投稿者投稿内容
フィーバー
常連さん
会議室デビュー日: 2006/08/30
投稿数: 22
投稿日時: 2007-07-16 13:43
環境 VB.NET2005

データベース内のテーブルの集計の方法で困っています。

以下のようなテーブルの内容を 商品 毎に各場所の登録日付
を出しDataSetに格納したいのですが、方法がわかりません。


t_test
商品 場所 登録日付
------------------
001 AAA 04/01
002 AAA 04/03
003 BBB 04/01
001 CCC 04/01
001 BBB 04/10
002 BBB 04/11
003 CCC 04/21
001 AAA 04/02
同じ商品かつ同じ場所が複数レコード存在します。(登録日付は違う。)
商品、場所は固定ではありません。

↓ このような表示にしたい

商品 AAA BBB CCC
---------------------------
001 04/01 04/10 04/01
001 04/02
002 04/03 04/11
003 04/01 04/21

どのように SQL文を書けば良いでしょうか?
また、SQLで以上のことを行うことは無理なのでしょうか?
宜しくお願い申し上げます。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-07-16 13:59
商品が不定なら一般的なSQLでは無理です。
ストアドプロシージャをサポートしたRDBであれば、
集計できなくはないと思いますが、
アプリケーション側と同じような処理を書くことになります。
どのみち一回のSQLで取得というのはできません。

RDB固有の機能によって出来る可能性もあるかもしれませんが、
そもそも何のRDBが対象であるか明記されていないので、
無理としかいいようがありません。
フィーバー
常連さん
会議室デビュー日: 2006/08/30
投稿数: 22
投稿日時: 2007-07-16 14:41
お返事ありがとうございます。

RDB は アクセス(MDB)です。

同じ商品かつ同じ場所がなければ、クロス集計クエリで取得できましたが、
同じ商品かつ同じ場所が複数レコード存在する場合は、できないのですね。

では、1レコード毎に読み込んで、処理を行う事になりそうですね。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)