Bruce,

You are correct I had problems in cutting the data from working code. Was 
hurrying to go to class and took a shortcut.  Here is the corrected info:
FROM  (((((RegisterOfMbrs R LEFT OUTER JOIN MbrCurHomeAdr H ON 
R.MbrNumber=H.MbrNumber) J1 LEFT OUTER JOIN MbrCurWorkAdr W ON 
J1.MbrNumber=W.MbrNumber) J2 LEFT OUTER JOIN AcademicAsList A ON 
J2.MbrNumber=A.MbrNumber) J3 LEFT OUTER JOIN DirHighSchools S ON 
J3.HighSchoolNbr=S.HighSchoolNbr) J4 LEFT OUTER JOIN MbrFromChapter F ON 
J4.MbrNumber=F.MbrNumber) J5 LEFT OUTER JOIN MbrFathersInfo D ON J5.MbrNumber = 
D.MbrNumber

Hope you were able to correctly figure out.  The key is to match the 
parenthesis.  Also you can mix the nesting of join types.  In my case it is 
LEFT 
OUTER JOIN. 


 Jim Bentley
American Celiac Society
[email protected]
tel: 1-504-737-3293



----- Original Message ----
> From: Bruce Chitiea <[email protected]>
> To: RBASE-L Mailing List <[email protected]>
> Sent: Wed, November 17, 2010 2:49:20 PM
> Subject: [RBASE-L] - Re: Inner Join: Joining 3 or more tables?
> 
> Larry, Bill, Jim:
> 
> Thanks much: powerful stuff.
> 
> Jim: Here's the  example, abstracted:
> 
> FROM +
> ( ( ( ( ( +
> tableview1 t1  +
> 
> INNER JOIN +
> tableview2 t2 +
> ON t1.keycolumn=t2.keycolumn +
> )  J1 +
> 
> INNER JOIN +
> tableview3 t3 +
> ON J1.keycolumn=t3.keycolumn  +
> ) J2 +
> 
> INNER JOIN +
> tableview4 t4 +
> ON  J2.keycolumn=t4.keycolumn +
> ) J3 +
> 
> INNER JOIN +
> tableview5 t5  +
> ON J3.keycolumn=t5.keycolumn
> 
> I'm assuming that this was cut from  working code, skewing the number of
> open/close parens. If this were  stand-alone, would I open with:
> 
> FROM +
> ( ( ( ( +
> 
> and close  with:
> 
> ON J3.keycolumn=t5.keycolumn +
> )  J4
> 
> 
> Yours,
> 
> bruce chitiea
> safesectors inc
> 
> >  -------- Original Message --------
> > Subject: [RBASE-L] - Re: Inner Join:  Joining 3 or more tables?
> > From: James Bentley <[email protected]>
> >  Date: Wed, November 17, 2010 11:50 am
> > To: [email protected] (RBASE-L Mailing  List)
> > 
> > 
> > Better still RBase supports nested INNER and  OUTER JOINS. Try following 
>syntax;
> > 
> >   FROM  (((((RegisterOfMbrs R INNER +
> >   JOIN MbrCurHomeAdr H ON  R.MbrNumber=H.MbrNumber) J1 INNER +
> >   JOIN MbrCurWorkAdr W ON  J1.MbrNumber=W.MbrNumber) J2 INNER +
> >   JOIN AcademicAsList A ON  J2.MbrNumber=A.MbrNumber) J3 INNER +
> >   JOIN DirHighSchools S ON  J3.HighSchoolNbr=S.HighSchoolNbr
> > 
> > You can also nest a mixture of  INNER JOINS, LEFT OUTER JOIN, RIGHT OUTER 
>JOIN, 
>
> > and FULL OUTER JOIN.  The key is proper use of Parentheses.  This syntax 
> > available in  v7.6 (Windows & DOS) and higher. 
> > 
> > 
> > Jim  Bentley
> > American Celiac Society
> > [email protected]
> >  tel: 1-504-737-3293
> > 
> > 
> > >
> > >From: Lawrence  Lustig <[email protected]>
> >  >To: RBASE-L Mailing List <[email protected]>
> > >Sent: Tue,  November 16, 2010 1:21:50 PM
> > >Subject: [RBASE-L] - Re: Inner Join:  Joining 3 or more tables?
> > >
> > >
> > >You can perform  multiple INNER JOINs in a single statement using the 
> > >older 

> > >SQL-89  syntax:
> > >
> > >
> > >SELECT * FROM table1, table2,  table3 +
> > >  WHERE table1.colX = table2.colY AND table2.colA =  table3.colB
> > >
> > >
> > >Unfortunately, this works only  for implicit INNER JOINs in the older 
>syntax. 
>
> > > For SQL-92 syntax  (which is the only way to do OUTER JOINs) you are 
>limited to 
>
> > >2  tables per SELECT statement.  The work-around there is to use nested 
>views  as 
>
> > >described in your message.
> > >--
> >  >Larry
> 
> 
> 


      


Reply via email to