Search Postgresql Archives

Re: joining tables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



oayasli@xxxxxxxxx writes:

> Hi,
> 
> If you have two tables, each with a column called "keys" and a column
> called "values", and they are both incomplete, such as:
> 
> table 1:
> 
> keys | values
> -----+----------
> 1    | (null)
> 2    | two
> 3    | (null)
> 
> table 2:
> 
> keys | values
> -----+---------
> 1    | one
> 2    | (null)
> 3    | three
> 
> is there a way to join them, in order to get:
> 
> keys | values
> -----+---------
> 1    | one
> 2    | two
> 3    | three
> 
> The closest I could get was with NATURAL FULL JOIN:
> 
> keys | values
> -----+---------
> 1    | one
> 1    | (null)
> 2    | two
> 2    | (null)
> 3    | three
> 3    | (null)
> 
> Thanks

Try something like:

SELECT key, 
        CASE when table1.value IS NOT NULL THEN k1.value
                ELSE table2.value END as value
FROM table1
FULL JOIN table2 USING(key);


You might want to use 'IS DISTINCT FROM table2.value' if you want the
value for table1 to be returned in preference to table2.value.




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux