Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- CA-Clipper 5.2 . The Guide To CA-Clippe - <b>join</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 JOIN
 Create a new database file by merging records/fields from two work areas
------------------------------------------------------------------------------
 Syntax

     JOIN WITH <xcAlias> TO <xcDatabase>
        FOR <lCondition> [FIELDS <idField list>]

 Arguments

     WITH <xcAlias> is the name of the work area to merge with records
     from the current work area.  You can specify it either as a literal
     alias or as a character expression enclosed in parentheses.

     TO <xcDatabase> is the name of the target database file specified
     either as a literal filename or as a character expression enclosed in
     parentheses.

     FOR <lCondition> selects only records meeting the specified
     condition.

     FIELDS <idField list> is the projection of fields from both work
     areas into the new database file.  To specify any fields in the
     secondary work area, reference them with the alias.  If the FIELDS
     clause is not specified, all fields from the primary work area are
     included in the target database file.

 Description

     JOIN creates a new database file by merging selected records and fields
     from two work areas based on a general condition.  JOIN works by making
     a complete pass through the secondary work area for each record in the
     primary work area, evaluating the condition for each record in the
     secondary work area.  When the <lCondition> is true (.T.), a new record
     is created in the target database file using the FIELDS specified from
     both work areas.

     If SET DELETED is OFF, deleted records in both source files (i.e., the
     two files being JOINed) are processed.  However, their deleted status is
     not retained in the target <xcDatabase>.  No record in the target file
     is marked for deletion regardless of its deleted status in either of the
     source files.

     If SET DELETED is ON, no deleted records are processed in either of the
     source files.  Thus, deleted records do not become part of the target
     <xcDatabase>.  Similarly, filtered records are not processed and do not
     become part of the target file.

     Warning!  The number of records processed will be the LASTREC() of
     the primary work area multiplied by the LASTREC() of the secondary work
     area.  For example, if you have two database files with 100 records
     each, the number of records JOIN processes is the equivalent of
     sequentially processing a single database file of 10,000 records.
     Therefore, use this command carefully.

 Examples

     .  This example JOINs the Customer.dbf to the Invoices.dbf to
        produce Purchases.dbf:

        USE Invoices NEW
        USE Customers NEW
        JOIN WITH Invoices TO Purchases;
           FOR Last = Invoices->Last;
           FIELDS First, Last, Invoices->Number, ;
              Invoices->Amount

 Files:  Library is CLIPPER.LIB.

See Also: SET RELATION

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson