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));  

执行结果:

 

posted @ 2020-10-15 09:13  szlailai  阅读(164)  评论(0编辑  收藏  举报