AX2012 Query上的 OuterJoin

AX2012 Query上的 OuterJoin 其实相当于Left Join.

以案例演示两个表 SXY_ST 和 SXY_SL 通过STID关联,表数据如下

将2个query 验证

SXY_STL, 以 SXY_ST为主表,  SXY_SL OutJoin  SXY_ST;

SXY_SLT, 以 SXY_SL为主表,  SXY_ST OutJoin  SXY_SL;

建一个测试的job,查看join 后的结果

 1     QueryRun    qr;
 2     SXY_ST      st;
 3     SXY_SL      sl;
 4     
 5     int         cnt;
 6     
 7     ;
 8     infolog.clear();    
 9     info("queryStr(SXY_STL)");
10     qr = new QueryRun( queryStr(SXY_STL));
11 
12     while (qr.next())
13     {
14         st = qr.getNo(1);
15         sl = qr.getNo(2);
16         cnt++;
17         info(strFmt("%1,%2, %3",st.STID,sl.STID,sl.LineNum));
18     }
19     info(strFmt("%1",cnt));
20     
21         
22     cnt=0;
23     info("queryStr(SXY_SLT)");
24     qr = new QueryRun( queryStr(SXY_SLT));   
25     while (qr.next())
26     {
27         st = qr.getNo(2);
28         sl = qr.getNo(1);
29         
30         cnt++;
31         info(strFmt("%1,%2, %3",st.STID,sl.STID,sl.LineNum));
32     }
33     info(strFmt("%1",cnt));  

执行结果:

原文地址:https://www.cnblogs.com/sxypeace/p/13818672.html