> given that answers for a questionnaire are stored as a
> batch 

Not in our setup - for all sorts of reasons (preserving responses on a 
connection failure or restart, monitoring response latency in real time, 
creating adaptive/branching questionnaires) we send each response separately.

> people running reports on will be the ones to notice, i.e. at
> retrieval time.

I am not sure - different responses are aggregated into different attributes in 
different ways - those properties need to be retrieved during scoring/report 
generation, so being able to create a join directly on a response is a good 
thing for me. But report generation - in our case it must be a DTP quality PDF 
- is such a beast anyway that db times dwarf compared to pdf generation.

The problem comes when I need to present the responses themselves in a 
human-friendly way - as an export or display or report. Do you think there is a 
way to ensure that the order of the values in the array below is the same for 
each person?

tbl(eID, aID, value)

Select eID, array_accum(value) from
(
 (Select Distinct eID from tbl) e
  CROSS JOIN
 (Select Distinct aID from tbl) a
) ea
 LEFT OUTER JOIN
tbl USING (eID, aID)
GROUP BY eID


Thx for the help.
B.


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to