|
01.11.2014, 20:49 | #1 |
Участник
|
Использовать addLink дважды?
В вашем while select примере не вижу join для Table3? Если Table3 не джойнится, а вычисляется до запроса то это не link, а range. Последний раз редактировалось S.Kuskov; 01.11.2014 в 21:01. |
|
01.11.2014, 22:21 | #2 |
Участник
|
В while select join для Table3 есть, просто я его упустил в описании.
Вариант с двумя Link подряд пробовал, но не дает нужного эффекта к сожалению. |
|
01.11.2014, 22:49 | #3 |
Участник
|
Может попробовать inner join? И еще попробуй addrange по расширенному синтаксису
|
|
02.11.2014, 01:25 | #4 |
Дмитрий Ерин
|
а они не должны быть "подряд" (если я правильно понял смысл этой фразы), так как относятся к разным datasource. Примерно так (пишу без проверки синтаксиса):
X++: ... QueryBuildDataSource qbdsTable1, qbdsTable2, qbdsTable3; qbdsTable1 = query.addDataSource(tablenum(Table1)); qbdsTable2 = qbdsTable1.addDataSource(tablenum(Table2)); qbdsTable2.joinMode(JoinMode::OuterJoin); qbdsTable2.addLink(fieldNum(Table1, id1), fieldNum(Table2, id1)); qbdsTable3 = qbdsTable1.addDataSource(tablenum(Table3)); qbdsTable3.joinMode(JoinMode::OuterJoin); qbdsTable3.addLink(fieldNum(Table1, id2), fieldNum(Table3, id2));
__________________
|
|
|
|