Вопрос про Outer Join
Добрый день.
Прошу прощения за легкий вопрос..
Объявления опустим..
Пишу такой запрос:
//выбираю все ItemId из InventTable
qbDSItem = query.addDataSource(tableNum(InventTable));
qbDSItem.addSortField(fieldNum(InventTable, ItemId));
qbDSItem.orderMode(OrderMode::GroupBy);
qbDSItem.addSelectionField(fieldNum(InventTable, ItemId));
//добавляю таблицу InventTrans
qbDS = qbDSItem.addDataSource(tableNum(InventTrans));
qbDS.joinMode(JoinMode::OuterJoin);
qbDS.addLink(fieldNum(InventTable, ItemId), fieldNum(InventTrans, ItemId));
qbDS.addSortField(fieldNum(InventTrans, ItemId));
qbDS.addSelectionField(fieldNum(InventTrans, ItemId));
//вывожу результат
queryRun = new QueryRun(query);
while (queryRun.next())
{
inventTable = queryRun.get(tableNum(InventTable));
inventTrans = queryRun.get(tableNum(InventTrans));
info( strfmt( "%1 %2", inventTable.ItemId, inventTrans.ItemId));
}
Вот пример того, что выводится:
0001
0001 0001
0002
0002 0002
0003 //номера 0003 нет в TransTable
0004
0004 0004
Почему выводятся строки типа
0001
0001 0001
Вместо
0001 0001 ?
|