>This is a somewhat "strange" syntax. Is the (+) part of any SQL-Standard?
>
No, as far as I know, but it is or was the ORACLE way to write outer joins.
With recent releases ORACLE supports full ansi syntax for outer joins
and we are working on that topic, too.
By now there still might be some bugs and for sure there are missing a lot
of things.
SQLStudio's VisualQuery-Dialog also uses the (+)-Syntax! Will this be "fixed"?
I would be pleased, if it uses the "outer join" syntax.
I'll have a closer look to your select because I agree that it looksI can't imagine, how an SQL-Interpreter should know, in which order to execute the outer-joins, i even prefer left-to-right-execution - is there any case which needs something else?
like a bug.
In general I can say that the result of an outer join with more than
two tables in SAP DB depends on the order of the tables in the from clause.
Because SAP DB executes the outer join like "(A left outer join B) left outer join C"
or if you change the order in the from clause "(C inner join B) right outer join A".
We know that this is not the best way but it's caused by our join execution engine
and a redesign will last a while
for example: "select a.o,a.a,b.b,c.c from b right join a on a.o=b.o left join c on a.o=c.o" works perfectly!
The Query "(C inner join B) right outer join A" is not supposed to return anything, because "C inner join B" returns an empty set (with the example-data that was given).
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general
