Re: SELF LEFT OUTER JOIN = SELF JOIN including NULL values
В списке pgsql-general по дате отправления:
| От | Sam Mason |
|---|---|
| Тема | Re: SELF LEFT OUTER JOIN = SELF JOIN including NULL values |
| Дата | |
| Msg-id | 20100917163529.GD31536@samason.me.uk обсуждение |
| Ответ на | SELF LEFT OUTER JOIN = SELF JOIN including NULL values (julia.jacobson@arcor.de) |
| Список | pgsql-general |
On Fri, Sep 17, 2010 at 06:16:44PM +0200, julia.jacobson@arcor.de wrote:
> Hello everybody out there using PostgreSQL,
>
> After having read the official documentation and having done extensive
> web search, I'm wondering how to perform something like a SELF LEFT
> OUTER JOIN in PostgreSQL, i.e. a SELF JOIN on a table containing NULL
> values in one of the columns to join.
I guess you're looking for the IS NOT DISTINCT FROM operator. I.e.
SELECT *
FROM foo a
INNER JOIN foo b ON (a.x = b.x AND a.y IS NOT DISTINCT FROM b.y);
If you want a truth table:
WITH x(v) AS (VALUES (1),(2),(NULL))
SELECT l.v, r.v, l.v = r.v AS equality,
l.v IS NOT DISTINCT FROM r.v AS isnotdistinctfrom
FROM x l, x r;
--
Sam http://samason.me.uk/
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера