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

ちょっと特殊な集計をしたいのですが
テーブルはID(数値)と 記号(テキスト)の2つから構成されています。

ID   記号
1   A1,B2
2   A2
3   A1,A3
4   B1
5   A3,B2,C1

このようにデータが入っている場合
以下のように集計をするにはどうしたらよいでしょうか?

記号  カウント
A1   2
A2   1
A3   2
B1   1
B2   2
C1   1

A 回答 (3件)

こんにちは、ats8181oyajiです



>例えば3つのフィールドだとどうしたらよいでしょうか?

今のままのテーブルで集計したいのですよね
私でしたらモジュールを使ってロジックで対処します。

1.テーブルを1レコードずつ、読み込み
2.記号フィールドを区切り文字","カンマで分割
3.分割したデータ(A1やB2)をそのまま別テーブルに1件1レコード出力
(ここで配列変数で内部で処理してもかまわないのですがややこしいので)
4.別テーブルをグルーピ化してカウントする

では
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
無事出来ました。
本当にありがとうございます。

お礼日時:2003/03/14 14:32

>例えば3つのフィールドだとどうしたらよいでしょうか?



テーブルは細分化した方が良いと思います。
重複するデーターは別テーブル化した方が、
今回のような問題も少なくなると思います。

テーブルの分割は テーブルの正規化 で行えます。

ツール → 解析 → テーブルの正規化 です。

テーブルの正規化ウイザードが開始されます。
そこを最後の確定をする前まで 段階ごとに説明が表示されます。
それを参考にされると良いと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
試そうとしたのですが、機能がインストールされていなかったため使えませんでした。
インストールしたら試してみたいと思います。

お礼日時:2003/03/14 14:31

データー入力を次のようにされたら良いと思います。


ID   記号
1   A1
1   B2
2   A2
3   A1
3   A3
4   B1
5   A3
5   B2
5   C1

この方がすっきりしています。
データー検索を行い易くしておかないと
データーベースの意味がなくなると思います。

この回答への補足

例えば3つのフィールドだとどうしたらよいでしょうか?
ID 名前   記号
1  NAME1  A1,B2
2  NAME2  A2
3  NAME3  A1,A3
4  NAME4  B1
5  NAME5  A3,B2,C1

本当はもっとフィールドがあるのですが・・
要するに1つのフィールドに複数(不定)の記号を入力し、それを集計したいのですが・・・
アドバイスよろしくお願いします。

補足日時:2003/03/12 09:58
    • good
    • 0

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