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));
执行结果: