首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >on JOIN是否总是将查询分成两部分,如果没有在Progress中完成,则将右侧的部分留空?

on JOIN是否总是将查询分成两部分,如果没有在Progress中完成,则将右侧的部分留空?
EN

Stack Overflow用户
提问于 2021-01-26 02:48:07
回答 1查看 60关注 0票数 0

我正在尝试使用this页面作为灵感来进行外部连接。我的代码如下

代码语言:javascript
复制
OPEN QUERY qMovto
FOR EACH movto-estoq
WHERE movto-estoq.lote BEGINS pc-lote
AND movto-estoq.it-codigo BEGINS pc-it-codigo
AND movto-estoq.dt-trans >=  pd-data1
AND movto-estoq.dt-trans <=  pd-data2
AND movto-estoq.cod-emitente = pi-cod-emitente,
    EACH item OUTER-JOIN
    WHERE movto-estoq.it-codigo = item.it-codigo,
        EACH item-cli OUTER-JOIN
        WHERE item-cli.item-do-cli BEGINS pc-item-cli
        AND movto-estoq.cod-emitente = item-cli.cod-emitente
        AND movto-estoq.it-codigo = item-cli.it-codigo
        AND movto-estoq.un = item-cli.unid-med-cli,    
            EACH nota-fiscal OUTER-JOIN
            WHERE movto-estoq.nro-docto = nota-fiscal.nr-nota-fis
            BY movto-estoq.dt-trans DESCENDING BY movto-estoq.hr-trans DESCENDING.

正在发生的问题是,当1个元素为null时,外部连接中的所有其他元素也显示为null,即使它们不是null。有没有更好的方法来写这段代码?我应该把'LEFT‘放在外部连接之前吗?耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

发布于 2021-01-26 06:08:24

为了使您的示例更简单,可以考虑让它在ABL dojo中工作。以下代码:

代码语言:javascript
复制
define temp-table ttone
   field ii as int
   .

define temp-table tttwo
   field ii as int
   field cc as char
   .

create ttone. ttone.ii = 1.
create ttone. ttone.ii = 2.
create tttwo. tttwo.ii = 2. tttwo.cc = "inner".
create tttwo. tttwo.ii = 3. tttwo.cc = "orphan".

define query q for ttone, tttwo.
open query q 
    for each ttone, 
    each tttwo outer-join where tttwo.ii = ttone.ii.
    
get first q.
do while available ttone:
   message ttone.ii tttwo.cc.
   get next q.
end.

可以从https://abldojo.services.progress.com/?shareId=600f40919585066c219797ed运行

如您所见,这将导致:

代码语言:javascript
复制
1 ?
2 inner

不可用的联接显示为未知。将显示连接的外部部分的值。

由于您没有展示如何获得所有内容的未知值,也许您正在连接未知值?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65890635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档