Ситуация такая. Есть некоторая таблица JournalRequest, в которой есть поле UserCode.
Данные в таблице простые: для UserCode = '0001' одна запись, для '0002' - две и для '0003' - три.
Хотелось бы сделать запрос (с помощью Query или через АОТ), который бы выдавал количество записей для каждого UserCode, типа:
0001 1
0002 2
0003 3
Пытаюсь так:
PHP код:
Query query = new Query();
QueryBuildDataSource qbd,qbd2;
;
qbd = query.addDataSource(tableNum(JournalRequest));
qbd.OrderMode(OrderMode::GroupBy);
qbd.addSortField(fieldNum(JournalRequest,UserCode));
qbd.addSelectionField(fieldNum(JournalRequest,UserCode));
qbd2 = qbd.addDataSource(tableNum(JournalRequest));
qbd2.OrderMode(OrderMode::GroupBy);
qbd2.addSortField(fieldNum(JournalRequest,UserCode));
qbd2.addSelectionField(fieldNum(JournalRequest,UserCode),SelectionField::Count);
qbd2.addLink(fieldNum(JournalRequest,UserCode),
fieldNum(JournalRequest,UserCode));
qbd2.joinMode(JoinMode::InnerJoin);
Сейчас, после такого цикла по результатам:
PHP код:
while (query.next())
{
JournalRequest = query.get(tableNum(JournalRequest),1);
jr2 = query.get(tableNum(JournalRequest),2);
info(" " + JournalRequest.UserCode + " " + jr2.UserCode);
}
Выдается следующее:
0001 2
0002 3
0003
Видимо, где-то косяк при соединении таблиц. Не могу понять где