RE: SQL help... - Mailing list pgsql-general

From Per-Olof Pettersson
Subject RE: SQL help...
Date
Msg-id 20010516.5102196@mis.configured.host
Whole thread Raw
In response to RE: SQL help...  (Alex Hochberger <alex@feratech.com>)
Responses RE: SQL help...  (Per-Olof Pettersson <pgsql@peope.net>)
List pgsql-general
Hi

I think this is a matter of an outer join.

SELECT *
FROM users, questions LEFT JOIN answers ON questions.question_id =
answers.question_id;

Note that the outer join is implemented in 7.1.x.

Best regards
Per-Olof Pettersson

>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<

On 2001-05-16, 06:41:34, alex@feratech.com (Alex Hochberger) wrote
regarding RE: SQL help...:


> Users:
> ----------------------
> CREATE TABLE "users" (
>    "user_id" int8 DEFAULT nextval('user_id_seq'::text) NOT NULL,
>    "group_id" int4 NOT NULL,
>    "user_agent" varchar(200) NOT NULL,
>    "ip_address" varchar(20) NOT NULL,
>    CONSTRAINT "users_pkey" PRIMARY KEY ("user_id")
> );
> CREATE  UNIQUE INDEX "user_id_users_ukey" ON "users" ("user_id");
> CREATE  INDEX "users_group_id_key" ON "users" ("group_id");
> CREATE  INDEX "users_ip_address_key" ON "users" ("ip_address");
> CREATE  INDEX "users_user_agent_key" ON "users" ("user_agent");

> Questions:
> ----------------------
> CREATE TABLE "questions" (
>    "question_id" int8 DEFAULT nextval('question_id_seq'::text) NOT NULL,
>    "survey_id" int4 NOT NULL,
>    "question" text NOT NULL,
>    CONSTRAINT "questions_pkey" PRIMARY KEY ("question_id")
> );
> CREATE  INDEX "questions_question_key" ON "questions" ("question");
> CREATE  INDEX "questions_survey_id_key" ON "questions" ("survey_id");


> User Answers:
> ----------------------
> CREATE TABLE "user_answers" (
>    "ua_id" int8 DEFAULT nextval('ua_id_seq'::text) NOT NULL,
>    "user_id" int8 NOT NULL,
>    "question_id" int8 NOT NULL,
>    "qa_id" int8 NOT NULL,
>    CONSTRAINT "user_answers_pkey" PRIMARY KEY ("ua_id")
> );
> CREATE  INDEX "user_answers_qa_id_key" ON "user_answers" ("qa_id");
> CREATE  INDEX "user_answers_question_id_key" ON "user_answers"
> ("question_id");
> CREATE  INDEX "user_answers_user_id_key" ON "user_answers" ("user_id");


> All these questions will be for survey 1...

> Alex

> > -----Original Message-----
> > From: Ryan Mahoney [mailto:ryan@paymentalliance.net]
> > Sent: Tuesday, May 15, 2001 7:22 PM
> > To: Alex Hochberger; 'pgsql-general@postgresql.org'
> > Subject: Re: [GENERAL] SQL help...
> >
> >
> > Please post the sql statement that creates these tables.
> >
> > -r
> >
> > At 12:15 AM 5/16/01 -0400, Alex Hochberger wrote:
> >
> > >To any SQL wizards out there,
> > >
> > >I have finally exhausted my SQL knowledge.
> > >
> > >I have 3 tables that I need to do a fancy join on...
> > >
> > >1 stores the users
> > >1 stores the questions
> > >1 stores the user's answers to the questions (based on
> > foreign keys to the
> > >answers table)
> > >
> > >I would like to create a result with the following columns:
> > >some fields from the users, each of the questions
> > >
> > >in each row should be the results from the users, and their
> > user answers
> > >
> > >Here is the tricky thing, people may have not answered each
> > question, so I
> > >would like to either leave that blank or put in a 0...
> > >
> > >With an ugly hack, I get the results where they answered
> > everything, but not
> > >the partial answers.
> > >
> > >Please cc: me on the reply, because I get this as a digest.
> > >
> > >Thanks,
> > >Alex
> > >
> > >---------------------------(end of
> > broadcast)---------------------------
> > >TIP 2: you can get off all lists at once with the unregister command
> > >     (send "unregister YourEmailAddressHere" to
> > majordomo@postgresql.org)
> > >
> > >
> > >
> > >---
> > >Incoming mail is certified Virus Free.
> > >Checked by AVG anti-virus system (http://www.grisoft.com).
> > >Version: 6.0.251 / Virus Database: 124 - Release Date: 4/26/01
> >

> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

pgsql-general by date:

Previous
From: will trillich
Date:
Subject: Re: sql question
Next
From: Per-Olof Pettersson
Date:
Subject: RE: SQL help...