如何在Progress 4gl中获得相同的结果?

时间:2015-03-06 08:52:15

标签: sql progress-4gl

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

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

我只有2个理想,一个是temp-table,第二个是CAN-DO()函数......但是CAN-DO()函数与字符串一起工作,所以我必须将这个字段转换为字符串..但这是馊主意... 我是进步中的新手。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

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.