Re: Full outer join? Cross product? How to blend two queries into single row?
От | Scott Marlowe |
---|---|
Тема | Re: Full outer join? Cross product? How to blend two queries into single row? |
Дата | |
Msg-id | dcc563d10809041426o7ebe327fx6837cc3934bb4387@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Full outer join? Cross product? How to blend two queries into single row? (Sam Mason <sam@samason.me.uk>) |
Ответы |
Re: Full outer join? Cross product? How to blend two queries into single row?
|
Список | pgsql-general |
On Thu, Sep 4, 2008 at 3:22 PM, Sam Mason <sam@samason.me.uk> wrote: > On Thu, Sep 04, 2008 at 03:43:33PM -0500, D. Dante Lorenso wrote: >> I came up with this query that works, but seems overly complicated: >> >> SELECT a.col1, a.col2, b.col3, b.col4 >> FROM >> (SELECT col1, col3, TRUE AS join_column >> FROM mytable >> WHERE uid = 'abc') a >> FULL OUTER JOIN >> (SELECT col3, col4, TRUE AS join_column >> FROM mytable >> WHERE uid = 'def') b >> ON (a.join_column = b.join_column); >> >> Is this how to do it, or is there a simpler syntax I'm missing? > > The "ON" clause is just a normal expression, so you can just put a > "TRUE" in there if you want a cross join. I.e. the following is a > minimal full outer cross join: > > SELECT * FROM foo FULL OUTER JOIN bar ON TRUE; can't you just drop the on clause altogether?
В списке pgsql-general по дате отправления: