17.11.2023, 09:26 | #1 |
Участник
|
поле "невидимо" в расширенном диапазоне запроса
Добрый день. Создаю форму, основная таблица связана с таблицей истории действий. Мне надо отсеить данные, которые содержатся в истории одного типа и позже не появилась история другого типа(открыли, закрыли туда-сюда)
Пишу exists join History, notexists join History2 но когда составляю условие То ругается поле (StartDate) невидимое. Как переделать запрос формы? ExistsJoin был переписан на join с group by по полям ( потому что вроде логично не видеть поля из условия exists в where), но ошибка таже qbds = this.query().dataSourceTable(tableNum(ManagerLocation)); qbds.clearDynalinks(); historyExistsDS = qbds.addDataSource(tableNum(ManagerLocationHistory)); historyExistsDS.joinMode(JoinMode::ExistsJoin); historyExistsDS.relations(true); hrange = SysQuery::findOrCreateRange(historyExistsDS, fieldNum(ManagerLocationHistory, StartDate)); hrange.value(queryRange(dateNull(), beginDate)); hrange = SysQuery::findOrCreateRange(historyExistsDS, fieldNum(ManagerLocationHistory, TypeAction)); hrange.value(queryValue(1)); historyNotExistsDS = historyExistsDS.addDataSource(tableNum(ManagerLocationHistory)); historyNotExistsDS.joinMode(JoinMode::NoExistsJoin); historyNotExistsDS.relations(true); hrange = SysQuery::findOrCreateRange(historyNotExistsDS, fieldNum(ManagerLocationHistory, TypeAction)); hrange.value(queryValue(0)); hrange = SysQuery::findOrCreateRange(historyNotExistsDS, fieldNum(ManagerLocationHistory, StartDate)); hrange.value('('+historyNotExistsDS.name()+ '.' + fieldStr(ManagerLocationHistory, StartDate) + ' >= ' + historyExistsDS.name() + '.' + fieldStr(ManagerLocationHistory, StartDate) + ')'); -- ругается на вторую startdate из exists join |
|
17.11.2023, 11:39 | #2 |
Участник
|
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|