如何在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.