An automated method for creating only the necessary joins in a SQL query.
The present invention comprises a Query Program (QP), a Query Generation
Program (QGP), and a Clause Generation Program (CGP). The QP accepts the
query fields, filters, and sort criteria from the user, generates the
query, sends the query to the database, and displays the query results.
The QGP creates the query clause strings and inserts the strings into the
SQL template. The QGP generates the SELECT, (filter) WHERE, and ORDER BY
clauses. The QGP analyzes each parameter in a parameter list to determine
if the parameter is on the added aliases list. If the parameter is not on
the added aliases list, the QGP runs the CGP for the parameter. The CGP
generates the FROM, JOIN, and (join) WHERE clauses and adds the clauses
to the appropriate clause strings.