我如何才能在Progress 4gl中获得相同的结果



如何在Progress 4GL 中实现这样的查询

SELECT field1, field2 FROM tbl1 
   WHERE field1 IN (SELECT Field1 FROM tbl2).

我只有两个理想,一个是临时表,第二个是CAN-DO()函数。。。但是CAN-DO()函数使用字符串,所以我必须将此字段转换为字符串。。但这是个坏主意。。。我是新手。

你可以试试这个:

FOR EACH tbl2 FIELDS(tbl2.Field1)
    NO-LOCK,
    EACH tbl1 FIELDS(tbl1.field1 tbl1.field2)
    WHERE tbl1.field1= tbl2.Field1
    NO-LOCK:
 ...
END.

FIELDS指令是可选的。

如果第二个选择更复杂,也可以嵌套FOR EACH:

FOR EACH tbl2
    WHERE ...
    NO-LOCK:
    ...
    FOR EACH tbl1
        WHERE tbl1.field1= tbl2.Field1
        NO-LOCK:
     ...
    END.
END.

相关内容

  • 没有找到相关文章

最新更新