ANSI 92 Support for Joins in a Universe

Designer supports ANSI 92 syntax for joins. ANSI 92 is not supported by default. You must activate support by setting the SQL universe parameter ANSI92 to YES. This parameter is listed on the Parameter page of the universe parameters dialog box (File > Parameters > Parameter). Once activated, you can choose to use ANSI 92 syntax for joins in the universe. 
Ensure that you verify that the target RDBMS supports ANSI 92 before using the syntax in joins.

Activating ANSI 92 support in the universe and defining a join using ANSI 92 syntax are described below.

 

Example: Comparing default join syntax and ANSI 92 syntax Join syntax for two joins is shown below. The first shows the default behavior where the join is defined in the WHERE clause, the second shows the same join in the FROM clause using the ANSI 92 standard.

Default Join Syntax

SELECT

  Resort.resort,

  'FY'+Format(Sales.invoice_date,'YYYY'),

  sum(Invoice_Line.days * Invoice_Line.nb_guests *

Service.price)

FROM

  Resort,

  Sales,

  Invoice_Line,

  Service,

  Service_Line

WHERE

  ( Sales.inv_id=Invoice_Line.inv_id )

  AND ( Invoice_Line.service_id=Service.service_id )
  AND ( Resort.resort_id=Service_Line.resort_id )
  AND ( Service.sl_id=Service_Line.sl_id )

GROUP BY

  Resort.resort,

  'FY'+Format(Sales.invoice_date,'YYYY')

Same Join Using the ANSI 92 Standard

SELECT

  Resort.resort,

  'FY'+Format(Sales.invoice_date,'YYYY'),

  sum(Invoice_Line.days * Invoice_Line.nb_guests *

Service.price)

FROM

  Resort INNER JOIN Service_Line ON

(Resort.resort_id=Service_Line.resort_id)

   INNER JOIN Service ON (Service.sl_id=Service_Line.sl_id)
   INNER JOIN Invoice_Line ON

(Invoice_Line.service_id=Service.service_id)

   INNER JOIN Sales ON (Sales.inv_id=Invoice_Line.inv_id)

GROUP BY

  Resort.resort,

  'FY'+Format(Sales.invoice_date,'YYYY')