[PHP-users 9907] Re: 改行区切りのテキストデーターの集計方法
 
 Naomasa Numajiri
  
 php-users@php.gr.jp
 
 2002年9月08日 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.
; 実際に集計するスマートな方法が考えつかず、困っています。
スマートでなくてもいいので、考えた処理内容を書いた上で「このような
コードを書いたのですが、もっとスマートな方法があるんじゃないかと
思っています」の方がアドバイスは得やすいと思います。