19.12.2005, 13:36 | #21 |
Developer
|
Вот это у меня работает (Ax 3.0 SP 2, MS SQL Server 2000):
Код: static void Job40(Args _args) { Query q = new Query(); QueryRun qr; QueryBuildDataSource qbDS1, qbDS2; InventSum inventSum; InventTable inventTable; InventDim inventDim; ; qbDS1 = q.addDataSource(tableNum(InventSum)); qbDS2 = qbDS1.addDataSource(tableNum(InventTable)); qbDS2.joinMode(JoinMode::OuterJoin); qbDS2.fetchMode(QueryFetchMode::One2One); qbDS2.relations(true); qbDS2 = qbDS1.addDataSource(tableNum(InventDim)); qbDS2.joinMode(JoinMode::OuterJoin); qbDS2.fetchMode(QueryFetchMode::One2One); qbDS2.relations(true); qbDS2.addRange(fieldnum(InventDim, DataAreaId)).value(strfmt( "((%1.DataAreaId == %2.DataAreaId) || (%1.DataAreaId != %2.DataAreaId))", qbDS2.name(), q.dataSourceTable(tablenum(InventTable)).name() )); info(qbDS1.toString()); qr = new QueryRun(q); qr.next(); inventSum = qr.get(tablenum(InventSum)); inventTable = qr.get(tablenum(InventTable)); inventDim = qr.get(tablenum(InventDim)); info(strfmt("%1 %2 %3", inventSum.ItemId, inventTable.ItemName, inventDim.inventDimId)); } |
|
19.12.2005, 13:42 | #22 |
Developer
|
Sorry - не увидел "SaveDataPerCompany = NO"
Конечно из-за этого, я ж range на DataAreaId цеплял... ааа... "SaveDataPerCompany = NO" появилось уже после прочтения сообщения мной... тогда понятно, почему не увидел... Последний раз редактировалось vallys; 19.12.2005 в 14:32. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Двойной Outer Join в Query | 2 | |||
Несколько outer join в запросе | 2 | |||
Данные в Grid из таблиц, связанных по Outer Join | 2 | |||
Outer Join | 3 | |||
outer join для трех таблиц | 4 |
|