делаю следующую связку datasource'ов:
PHP код:
q = new Query();
qb = q.addDataSource( tablenum(UserInfo));
qb = qb.addDataSource( tablenum(UserGroupList));
qb.relations( false);
qb.addLink( fieldnum(UserGroupList,UserId), fieldnum(UserInfo,Id));
qb.joinMode( JoinMode::ExistsJoin);
qb = qb.addDataSource( tablenum(RDJournalUserGroup));
qb.relations( false);
qb.addLink( fieldnum(RDJournalUserGroup,UserGroupId), fieldnum(UserGroupList,GroupId));
qb.joinMode( JoinMode::ExistsJoin);
qb.addRange( fieldnum(RDJournalUserGroup,RDJournalNameId)).value(journalNameId);
this.query(q);
То есть последовательно присоединяются два datasource'а с типом связи ExistsJoin. Axapta генерит запрос, где сразу после SELECT ставит /*+ FIRST_ROWS*/. Что портит мне всю выборку (первая запись просто множится на кол-во записей). Если /*+ FIRST_ROWS*/ убрать совсем или заменить на /*+ LAST_ROWS*/, то записи возвращаются так как и задумывалось.
База данных на Oracle.
Можно ли как-то программно избавиться от /*+ FIRST_ROWS*/ в query.