"hx.li" writes:
> If we could consider it is equivalent transformation as follow?
> select * from t_1 full outer join t_3 on t_1.a=1;
> and
> select * from t_1 full outer join t_3 on true where t_1.a=1;
Those are not equivalent.
regards, tom lane
--
Sent via pgsql-gene
> It's an implementation restriction. If the clauses aren't mergejoinable
> there's no very practical way to keep track of which inner-side rows
> have had a match.
If we could consider it is equivalent transformation as follow?
select * from t_1 full outer join t_3 on t_1.a=1;
and
select * fr
"hx.li" writes:
> ERROR: FULL JOIN is only supported with merge-joinable join conditions
> My question is: why on clause restrict "t_1.a=1"?
It's an implementation restriction. If the clauses aren't mergejoinable
there's no very practical way to keep track of which inner-side rows
have had a ma
I think the way to get the result you want is to suppress the
null-containing rows before they get to the FULL JOIN, like so:
regression=# SELECT *
FROM (SELECT * FROM iandmed WHERE ametikoht IS NOT NULL) AS iandmed
FULL JOIN koosseis ON iandmed.ametikoht=koosseis.ametikoht;
Thank you.
In my
"Andrus" <[EMAIL PROTECTED]> writes:
>> I've yet to see a real-world case where a
>> non-merge-joinable full-join condition was really needed.
> I need to eliminate rows containing null value in left side table in full
> join.
> create table iandmed ( ametikoht integer );
> insert into iandmed v
"Andrus" <[EMAIL PROTECTED]> writes:
> I try to port application to PostgreSQL 8.1+
> The following query runs OK in VFP but causes error in Postgres
> FULL JOIN is only supported with merge-joinable join conditions
> SELECT
> ...
> FROM iandmed
> FULL JOIN koosseis ON iandmed.ametikoht=koosseis