Re: conditional FROM - Mailing list pgsql-sql

From Jasen Betts
Subject Re: conditional FROM
Date
Msg-id jc0mmi$4nb$2@reversiblemaps.ath.cx
Whole thread Raw
In response to conditional FROM  (Richard Klingler <richard@klingler.net>)
List pgsql-sql
On 2011-12-10, Richard Klingler <richard@klingler.net> wrote:
> Good day...
>
> I'm trying to build a query for PGSQL 9.1 where a table has two 
> references with only one being used depending of the type of entry..
>
> For example, the table has following simplified structure:
>
>     portid        primary key
>     port2node    index to table node
>     port2card    index to table card
>
> So how can I do a conditional FROM clause in the query depending on the 
> column port2node and port2card?
> If port2card is Null or 0 I don't want it in the FROM clause as the 
> query will return unneccessary duplicate
> row...the same goes for port2node being Null or 0...

use left outer join.
 SELECT * FROM     port    LEFT OUTER JOIN node ON node.nodeid=port.port2node    LEFT OUTER JOIN card ON
card.cardid=port.port2card

or something like that.


You may find coalesce() useful to combine columns where node and card
both carry equivalent information.



-- 
⚂⚃ 100% natural



pgsql-sql by date:

Previous
From: Viktor Bojović
Date:
Subject: Re: Subselects to Joins? Or: how to design phone calls database
Next
From: Jasen Betts
Date:
Subject: Re: Question on imports with foreign keys