FULL JOIN and mergjoinable conditions...

Поиск
Список
Период
Сортировка
От Martijn van Oosterhout
Тема FULL JOIN and mergjoinable conditions...
Дата
Msg-id 20040630011331.GE29223@svana.org
обсуждение исходный текст
Ответы Re: FULL JOIN and mergjoinable conditions...
Список pgsql-general
Today I got the error:

ERROR:  FULL JOIN is only supported with mergejoinable join conditions

Which is really annoying since a full join is exactly what I wanted. I
guess the alternative is to do a left join and a right join and merge
them? Is it just that no-one has come up with a way to code this
efficiently?

Maybe someone has a better way to express this. The problem is I have
two tables with ranges and I wanted to generate a result with the
overlaps and blanks where there are things missed. For example:

Table A                             Table B
Tag   Start    End                  Tag   Start    End
A       1       2                    A     2        7
B       6       9                    B     9        9
C      10      12                    C    13       15

So the query looks like:

SELECT * from A full outer join B on (a.end >= b.start and b.end >= a.start)

The result would be something like:

A       1      2      A      2      7
B       6      9      A      2      7
B       6      9      B      9      9
C      10     12      \N     \N    \N
\N     \N     \N      C      13    15

Any ideas?
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Вложения

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

Предыдущее
От: "Jason Sheets"
Дата:
Сообщение: Re: what happened to pghoster.com?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: query failing with out of memory error message.