Re: [SQL] Odd "problem", not sure if there is a solution ....

From: Herouth Maoz <herouth(at)oumail(dot)openu(dot)ac(dot)il>
To: The Hermit Hacker <scrappy(at)hub(dot)org>, pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] Odd "problem", not sure if there is a solution ....
Date: 1999-03-28 15:48:20
Message-ID: l03110709b323fe6728a1@[147.233.148.142]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

At 05:46 +0200 on 26/03/1999, The Hermit Hacker wrote:

> am working up a database for client that contains answers for online
> testing...right now, the 'tables' look like:
>
> userid Q1 Q2 Q3 Q4 Q5 Q6 Q7 etc
>
> I want to change it so that its more generic, as:
>
> userid question_no answer
>
> so that instead of one row per user, there are X rows...
>
> the problem is that, somehow, I want the client to be able to view the
> results as the first format (ie. one line per user) with it being stored
> as multiple lines per user...
>
> Possible?

The question is whether you expect your query to return rows in the above
format, where each of the answers is a separate field, or you could settle
for all the answers returned in one text field.

SQL does not provide for queries that return a different number of fields
for each row. What I'd do in such a case is to create an aggregate function
based on text concatenation ('||'), and either use the result as is or
split it on the client side through known delimiters.

Another approach is to query this table separately and do the grouping on
the client side.

I've used the first approach in one of my projects, if you are interested
in the solution.

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Herouth Maoz 1999-03-28 17:24:50 Re: [GENERAL] Determining if "in a text set"
Previous Message Richi Plana 1999-03-27 04:41:48 Determining if "in a text set"