From: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> |
---|---|
To: | Slawek Jarosz <Jarosz(dot)S(at)ems-t(dot)ca> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Optional join |
Date: | 2003-08-15 04:40:56 |
Message-ID: | 20030814213916.S5124-100000@megazone.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Thu, 14 Aug 2003, Slawek Jarosz wrote:
> Hi,
>
> I trying to write a query that will join 2 tables. Here's the concept:
> Table 1: table1, primary key pk1 Table 2: table2, primary key pk2
>
> One of the fields (f2) in table2 contains either the primary key of
> table1 or a NULL value. So normally a pretty basic query:
>
> SELECT table1.*, table2.pk2 FROM table1, table2 WHERE table2.f2 =
> table1.pk1;
>
> BUT what I would like to do is show all records of Table 1 even if
> there is no match in Table 2. Meaning that the reults could be
> table1... table2.pk2
> table1... NULL
See outer joins.
Something like:
SELECT table1.*,table2.pk FROM
table1 LEFT OUTER JOIN table on (table2.f2=table1.pk1);
From | Date | Subject | |
---|---|---|---|
Next Message | Bruno Wolff III | 2003-08-15 04:57:45 | Re: Optional join |
Previous Message | Josh Berkus | 2003-08-15 00:17:31 | Re: lower/upper functions and strings in searches |