Re: [SQL] Odd "problem", not sure if there is a solution .... - Mailing list pgsql-sql

From secret
Subject Re: [SQL] Odd "problem", not sure if there is a solution ....
Date
Msg-id 36FBE92D.B5E2BB93@kearneydev.com
Whole thread Raw
In response to Odd "problem", not sure if there is a solution ....  (The Hermit Hacker <scrappy@hub.org>)
List pgsql-sql
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?
>
> Marc G. Fournier                   ICQ#7615664               IRC Nick: Scrappy
> Systems Administrator @ hub.org
> primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org

    Sure it's possible, if you can live with the constrant that every person must
answer every question... (Else that person will kind of 'disappear' <cough>):

CREATE TABLE q (
    person int4,                -- Person ID#
    q int4,                        -- Question #
    a int4 )                        -- Answer

ftc=> select * from q where q in (1,2);
person|q| a
------+-+--
     1|1| 1
     1|2| 1
     2|1|21
     2|2|22
(4 rows)
SELECT q1.person,
        q1.a,
        q2.a

FROM    q as q1,
        q as q2

WHERE
        q1.person=q2.person
        AND q1.q = 1
        AND q2.q = 2
;
person| a| a
------+--+--
     1| 1| 1
     2|21|22
(2 rows)

    Your probably want to rename "a" to a1 and a2, but you can expand this to N
questions... The performance will suck if your table is pretty big, so I'd arrange
to move things to a history file every so often... Keep in mind people will
disappear if they are missing the answer to any question.

David Secret
MIS Director
Kearney Development Co., Inc.




pgsql-sql by date:

Previous
From: "Jackson, DeJuan"
Date:
Subject: RE: [SQL] Odd "problem", not sure if there is a solution ....
Next
From: "Andrew Douglas"
Date:
Subject: newbie question about type conversions