From: | Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> |
---|---|
To: | Ian Sillitoe <ian(dot)sillitoe(at)googlemail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: (FAQ?) JOIN condition - 'WHERE NULL = NULL' |
Date: | 2008-04-02 17:24:17 |
Message-ID: | 47F3C141.8040205@postnewspapers.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Ian Sillitoe wrote:
> This is probably a stupid question that has a very quick answer, however it
> would be great if someone could put me out of my misery...
>
> I'm trying to JOIN two tables (well a table and a resultset from a PL/pgsql
> function) where a joining column can be NULL
>
Sounds like you might want something like:
SELECT * FROM tablea INNER JOIN tableb ON (NOT tablea.id IS DISTINCT
FROM tableb.tablea_id_fk);
which can also be written as:
SELECT * FROM tablea, tableb WHERE NOT tablea.id IS DISTINCT FROM
tableb.tableid_id_fk ;
There's been lots of recent discussion of IS DISTINCT FROM, which is why
it comes straight to mind.
If that's not what you meant (by NULL = NULL) then might you be looking
for an OUTER JOIN ?
--
Craig Ringer
From | Date | Subject | |
---|---|---|---|
Next Message | Ian Sillitoe | 2008-04-02 17:25:00 | Re: (FAQ?) JOIN condition - 'WHERE NULL = NULL' |
Previous Message | David Fetter | 2008-04-02 17:23:56 | Re: [GENERAL] SHA1 on postgres 8.3 |