Показать сообщение отдельно
Старый 28.10.2006, 14:34   #1  
Jarad is offline
Jarad
Участник
 
3 / 10 (1) +
Регистрация: 30.06.2006
Вопрос по Query с агрегатной функцией
Пытаюсь написать запрос типа:
Код:
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 и каким образом?