Re: Question About UNION - Mailing list pgsql-general

From Josh Williams
Subject Re: Question About UNION
Date
Msg-id 1223580148.21036.8.camel@godzilla.local.scalefeather.com
Whole thread Raw
In response to Re: Question About UNION  (Bill Thoen <bthoen@gisnet.com>)
Responses Re: Question About UNION  (Bill Thoen <bthoen@gisnet.com>)
List pgsql-general
On Thu, 2008-10-09 at 10:59 -0600, Bill Thoen wrote:
> >> I'm trying to combine two tables, but I only want unique records based
> >> on the first two columns. Can UNION be used to join three-column tables
> >> but only include records based on the uniqueness of the first two
> >> columns? If not, how would I do this with PostgreSQL 8.1?
> >
> > How do you decide which records you want? - e.g. given the following rows...
> >
> >   (a, b, c)
> >   (a, b, d)
> >
> > ...how do you decide whether you the one with c or the one with d?
> >
> >
> The physical order that they appear will take care of that.

If the rest of the columns don't matter, how about:

SELECT DISTINCT ON(col1, col2) * FROM (
 SELECT col1, col2, col3 FROM table1
  UNION
 SELECT col1, col2, col3 FROM table2
 ORDER BY col1, col2
) AS uniontable;

- Josh Williams



pgsql-general by date:

Previous
From: Joao Ferreira gmail
Date:
Subject: when COPY violates Primary Keys
Next
From: Bill Thoen
Date:
Subject: Re: Question About UNION