[PHP-users 9907] Re: 改行区切りのテキストデーターの集計方法
Naomasa Numajiri
php-users@php.gr.jp
Sun, 08 Sep 2002 22:25:04 +0900
こんばんは
; 田中と言います。今日は日曜日なので、一日PCの前にいます。
---中略---
; ひとつのカラムに改行区切りでアンケートのデーターが入っています。
; 例えば、ひとつの設問に3つの選択肢があり2番目のラジオボックスに
; チェックがついていたとしたら
;
; 0
; 1
; 0
僕なら、処理が簡単になるための手段として、テーブル定義自体の変更
も視野に入れます。
例えば
* 選択肢の上限を決めておき、その数だけカラムを用意する。
* 各ラジオボックスとカラムを対応させて、各カラムに「0」「1」を
設定する。対応するラジオボックスがないカラムはNULLを入れる
というふうに。こうすればPostgreSQLの集計関数が使えますよね?
すでに稼動してしまっているなら、
alter table table_name add column
(手元にリファレンスがないですが、こんな構文ですよね?)
として、前処理として
update the_table
set column_of_radiobox1 = sql_function(column_of_all_radioboxes,1),
column_of_radiobox2 = sql_function(column_of_all_radioboxes,2),
....
column_of_radioboxN = sql_function(column_of_all_radioboxes,N)
where the_condition_for_the_records;
(注:擬似コードです)
とかすればいいのでは?(リアルタイムにやっているならトリガーに仕込むとか)
一例として
-- ぬ
p.s.
; 実際に集計するスマートな方法が考えつかず、困っています。
スマートでなくてもいいので、考えた処理内容を書いた上で「このような
コードを書いたのですが、もっとスマートな方法があるんじゃないかと
思っています」の方がアドバイスは得やすいと思います。