Frequently asked question

Will Outer Joins work in the SPATIALQUERY Element for ArcIMS?

Last Published: April 25, 2020

Answer

Yes. Outer joins work for tables joined to ArcSDE feature classes using the SPATIALQUERY element.

When joining database tables to ArcSDE feature classes, features that do not have matching records in the joined table are not rendered because ArcIMS instructs the database to perform inner joins.

If matching records do not exist in the joined table, and the desired outcome is the rendering of all features, the ArcIMS map configuration file or query should be configured to execute an outer join in the database.

For example, in the case of a table with 75 records joined to an ArcSDE feature class with 100 records, ArcIMS must instruct the database to perform a left outer join to render all features even though all of the features do not have matching records in the joined table. If a left outer join is not performed, only the 75 features with matching records in the table will be rendered.

To perform a left outer join in ArcIMS, the appropriate syntax must be used for the database being used, as demonstrated in the examples below.

· Oracle example: (+)
Code:
<SPATIALQUERY where="ARCIMS.REGIONS.JOINID = ARCIMS.EXPORTS.JOINID (+)" jointables="ARCIMS.EXPORTS" />


· SQL Server 2000 example: *=
Code:
<SPATIALQUERY where="ARCIMS.REGIONS.JOINID *= ARCIMS.EXPORTS.JOINID" jointables="ARCIMS.EXPORTS" />

Note:
This does not work when using SQL Server 2005.


For more information about the SPATIALQUERY element, please see the ArcXML Programmer's Reference Guide.

Article ID:000007976

Software:
  • Legacy Products

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Discover more on this topic