Re: Question About UNION

Поиск
Список
Период
Сортировка
От Bill Thoen
Тема Re: Question About UNION
Дата
Msg-id 48EE643F.4000909@gisnet.com
обсуждение исходный текст
Ответ на Re: Question About UNION  (Josh Williams <joshwilliams@ij.net>)
Список pgsql-general
Josh Williams wrote:
> 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
>
Great! This works too.
And to correct my last post, David Wilson had it right the SECOND time.
I've been wrestling with this stupid problem all morning and now my mind
is so gone I don't even trust whether I can get  'SELECT * FROM table1;'
to work!

Thanks for the help once again everybody!!!

В списке pgsql-general по дате отправления:

Предыдущее
От: Raymond O'Donnell
Дата:
Сообщение: Fwd: Set-valued function in wrong context
Следующее
От: Martin Pitt
Дата:
Сообщение: Re: [Pkg-postgresql-public] Postgres major version support policy on Debian