ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data Namespace / QueryTableDescription Class
Members Example Version

QueryTableDescription Class
Represents a mechanism to create a query table, which is a virtual table that represents queries involving one or more tables from the same geodatabase.
Object Model
QueryTableDescription ClassQueryDef Class
Syntax
public sealed class QueryTableDescription 
Example
Creating a QueryTable using a query which joins two versioned tables in a geodatabase
public async Task QueryTableJoinWithVersionedData()
{
    await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
    {
        QueryDef queryDef = new QueryDef
        {
            Tables = "CommunityAddress JOIN MunicipalBoundary on CommunityAddress.Municipality = MunicipalBoundary.Name",
            SubFields = "CommunityAddress.OBJECTID, CommunityAddress.Shape, CommunityAddress.SITEADDID, CommunityAddress.ADDRNUM, CommunityAddress.FULLNAME, CommunityAddress.FULLADDR, CommunityAddress.MUNICIPALITY, MunicipalBoundary.Name, MunicipalBoundary.MUNITYP, MunicipalBoundary.LOCALFIPS",
        };

        using (Geodatabase testVersion1Geodatabase = new Geodatabase(new DatabaseConnectionProperties(EnterpriseDatabaseType.Oracle)
        {
            AuthenticationMode = AuthenticationMode.DBMS,
            Instance = "instance",
            User = "user",
            Password = "password",
            Database = "database",
            Version = "user.testVersion1"
        }))
        {
            QueryTableDescription queryTableDescription = new QueryTableDescription(queryDef)
            {
                Name = "CommunityAddrJounMunicipalBoundr",
                PrimaryKeys = testVersion1Geodatabase.GetSQLSyntax().QualifyColumnName("CommunityAddress", "OBJECTID")
            };

            // Will be based on testVersion1.
            using (Table queryTable = testVersion1Geodatabase.OpenQueryTable(queryTableDescription))
            {
                // Use queryTable.
            }
        }

        using (Geodatabase testVersion2Geodatabase = new Geodatabase(new DatabaseConnectionProperties(EnterpriseDatabaseType.Oracle)
        {
            AuthenticationMode = AuthenticationMode.DBMS,
            Instance = "instance",
            User = "user",
            Password = "password",
            Database = "database",
            Version = "user.testVersion2"
        }))
        {
            QueryTableDescription queryTableDescription = new QueryTableDescription(queryDef)
            {
                Name = "CommunityAddrJounMunicipalBoundr",
                PrimaryKeys = testVersion2Geodatabase.GetSQLSyntax().QualifyColumnName("CommunityAddress", "OBJECTID")
            };

            // Will be based on testVersion2.
            using (Table queryTable = testVersion2Geodatabase.OpenQueryTable(queryTableDescription))
            {
                // Use queryTable.
            }
        }
    });
}
Inheritance Hierarchy

System.Object
   ArcGIS.Core.Data.QueryTableDescription

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also