Показать сообщение отдельно
Старый 04.12.2008, 15:05   #1  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Вопрос про 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 ?