| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Cartesian outer join with plus-sign syntax
Jaap W. van Dijk wrote:
> On Mon, 17 Dec 2007 22:32:17 -0800, DA Morgan <damorgan_at_psoug.org>
> wrote:
>
>> Jaap W. van Dijk wrote: >>> Hi >>> >>> I want to perform a cartesian outer join with the old plus-sign >>> syntax. So far I've come up with (and it works) >>> >>> SELECT ... >>> FROM A,B >>> WHERE >>> case when A.X = A.X then 0 else 0 end = >>> case when B.X (+) = B.X (+) then 0 else 0 end >>> >>> Both tables are referred to, table B with the plus-sign, so the outer >>> join requirement is satisfied. The condition is always true, so the >>> join is in effect cartesian. >>> >>> Is there another (simpler) way to do this? >>> >>> Regards, >>> >>> Jaap. >> There is no such thing as a CARTESIAN OUTER JOIN so define your terms >> and your version. Are you talking about a FULL JOIN? >> Morgan's Library (www.psoug.org) - look up Joins >> >> If so this is NOT the meaning of what is referred to as a CARTESIAN. >> -- >> Daniel A. Morgan >> Oracle Ace Director & Instructor >> University of Washington >> damorgan_at_x.washington.edu (replace x with u to respond) >> Puget Sound Oracle Users Group >> www.psoug.org
You still don't understand the concept. Here's a cartesian:
SELECT a.col1, b.col1
FROM tab1 a, tab2 b;
No WHERE clause ... every row in tab1 joined with every row in tab2.
That is not what you want. What you want is a FULL JOIN and it is covered on the Joins page in Morgan's Library.
-- Daniel A. Morgan Oracle Ace Director & Instructor University of Washington damorgan_at_x.washington.edu (replace x with u to respond) Puget Sound Oracle Users Group www.psoug.orgReceived on Wed Dec 19 2007 - 00:04:28 CST
![]() |
![]() |