Re: How Do You Do a Three Way Join? - Mailing list pgsql-novice

From Stephan Szabo
Subject Re: How Do You Do a Three Way Join?
Date
Msg-id 20070522092729.P28328@megazone.bigpanda.com
Whole thread Raw
In response to How Do You Do a Three Way Join?  (kvnsmnsn@cs.byu.edu)
List pgsql-novice
On Tue, 22 May 2007 kvnsmnsn@cs.byu.edu wrote:

> I've got three tables, <jqz>, <zqj>, and <abc>.  I can do a
> <jqz j RIGHT JOIN zqj z> and a <zqj z LEFT JOIN abc a>, but is there a
> way to do a three-way join to get the columns of all three tables?  Of
> course I could do one of those former two joins and then join the out-
> put table to the third table, but is there a way to do it without cre-
> ating the intermediate table?
>
> I tried:
>
>      SELECT
>          j.abc, j.def, z.xyz, a.ghi
>        FROM
>          jqz j RIGHT JOIN zqj z LEFT JOIN abc a
>        ON
>          j.abc = z.abc AND z.xyz = a.xyz;

I think you'd want something like
 (jqz j RIGHT JOIN zqj z ON j.abc=z.abc) LEFT JOIN abc a ON (z.xyz=a.xyz)

pgsql-novice by date:

Previous
From: Richard Broersma Jr
Date:
Subject: Re: How Do You Do a Three Way Join?
Next
From: "David Monarchi"
Date:
Subject: reading table metadata from pl/pgsql in 8.2 under FreeBSD