lcSites = addbs(fileloc) + 'bluebook\sites' lcERs = addbs(fileloc) + 'bluebook\ers' lcCEO1 = addbs(fileloc) + 'bluebook\people' lcTC1 = addbs(fileloc) + 'bluebook\people' lcTC2 = addbs(fileloc) + 'bluebook\people' select * , ers.name as 'ername', tc1.fullname as 'tc1name', ; tc2.fullname as 'tc2name', ceo1.fullname as 'ceo1name' ; from trpcontacts!Sites ; left outer join (lcERs) ers on sites.er = ers.er_id ; left outer join (lcTC1) tc1 on sites.tc1 = tc1.person_id ; left outer join (lcTC2) tc2 on sites.tc2 = tc2.person_id ; left outer join (lcCEO1) ceo1 on sites.ceo1 = ceo1.person_id ; into cursor crsTempBlueBook>Use table aliases
>select sites.*, ers.name, tc1.name, tc2.name, ceo1.name ; > from (lcSites) sites ; > left join (lcERs) ers on sites.er = ers.er_id ; > ... > left join (lcCEO1) ceo1 on sites.ceo1 = ceo1.person_id > >>>Well I solved this problem using Vladimir's suggestion. Thanks Vladimir.
>>lcSites = addbs(fileloc) + 'bluebook\sites' >>lcERs = addbs(fileloc) + 'bluebook\ers' >> >>select * , ers.name ; >>from (lcSites) ; >>left outer join ers on sites.er = ers.er_id ; >>into cursor crsTempBlueBook >>>>will produce a cursor containing the name of the er taken from the er lookup table. But how do you structure a situation where there are several of these lookups in the main table? As in:
>>lcSites = addbs(fileloc) + 'bluebook\sites' >>lcERs = addbs(fileloc) + 'bluebook\ers' >>lcCEO1 = addbs(fileloc) + 'bluebook\people' >>lcTC1 = addbs(fileloc) + 'bluebook\people' >>lcTC2 = addbs(fileloc) + 'bluebook\people' >> >>** yielding something like >>select * , ers.name, tc1.name, tc2.name, ceo1.name ; >> from (lcSites) ; >> (lcERs) as ers ; >> (lcCEO1) as ceo1 ; >> left outer join (lcERs) on sites.er = ers.er_id ; >> left outer join (lcCEO1) on sites.ceo1 = ceo1.person_id >> >>etc. >>>>