IQueryDef и openFeatureQuery

0 голосов
спросил 18 Фев, 09 от ppa80 (920 баллов) в категории Программные продукты Esri

Есть такой код:

      IQueryDef queryDefHi = workspace.createQueryDef();
      queryDefHi.setTables(hiAttrTables);
      queryDefHi.setSubFields(hiAttrFields);
      queryDefHi.setWhereClause(hiAttrWhereClause);
     IFeatureDataset featDatasetHi = workspace.openFeatureQuery(sdname, queryDefHi);

Данные содержаться в SDE в FeatureClass-ах. Когда делается запрос к одному слою, то всё нормально отрабатывает, как и положено. Но когда делаю запрос из двух слоёв, которые join-ятся в whereclause, выскакивает ошибка.
К примеру когда :

hiAttrTables = "SDE.Table1"
hiAttrFields = "Table1.OBJECTID,Table1.SHAPE,Table1.Field1"
hiAttrWhereClause = ""

то всё отлично.
А когда

hiAttrTables = "SDE.Table1,SDE.Table2"
hiAttrFields = "Table1.OBJECTID,Table1.SHAPE,Table2.Field1"
hiAttrWhereClause = "Table1.Field1=Table2.Field1"

(замечу, что в hiAttrFields одно поле Shape и одно поле OBJECTID).
А теперь вопрос: можно ли всё-таки джоинить два фичекласса? (но с соблюдением ограничения на одно поле objectid и одно поле SHAPE). Если да, то в чём может быть проблема?

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...