Пытаюсь написать запрос типа:
Код:
select SUM(IT.CostAmountPosted)
from INVENTTRANS IT
inner join InventDim InvDim ON InvDim.InventDimId = IT.InventDimId
where (IT.DateFinancial >= '20060901') AND (IT.DateFinancial <= '20060930')AND (IT.StatusReceipt = 1)
]
Query делал в таком вот виде:
Код:
qbd = queryExt.addDataSource(tableNum(InventTrans));
qbd.addSelectionField(fieldNum(InventTrans ,CostAmountPosted),SelectionField::Sum) ;
qbd.addRange(fieldNum(InventTrans, DateFinancial)).value(SysQuery::range(bMth,eMth));
qbd.addRange(fieldNum(InventTrans, StatusReceipt)).value(Enum2Str(StatusReceipt::Purchased));
qbd.orderMode(OrderMode::GroupBy);
qbd = queryExt.dataSourceTable(tableNum(InventTrans)).addDataSource(tableNum(InventDim));
qbd.addLink(fieldNum(InventTrans,InventDimId),fieldNum(InventDim,InventDimId));
qbd.joinMode(JoinMode::InnerJoin);
qbd.fetchMode(QueryFetchMode::One2Many);
qbd.addSortField(fieldNum(InventDim, InventDimId));
qbd.orderMode(OrderMode::GroupBy);
Но в этом случае группировка будет идти по полю InventDim.InventDimId, и результатом будет не одна общая сумма, а сгрупированые по этому полю. Если же не указать qbd.addSortField, то вобще выскакиевает ошибка... Нужно ли указівать какое то поле в addSortField и каким образом?