我需要从两个实例中的表中获取数据。我正在将Oracle SQL转换为Progress,代码如下:
select item.id,structure.group, item2.id
from item,structure,item item2
where item.id = structure.id and structure.sub_id = item2.id (+)
我认为最好的想法是创建一个临时表tt项,在其中存储项的值,然后在查询中使用外部联接来获得结果,类似
DEFINE QUERY qItem FOR item,structure,tt-item.
这是最好的方法吗?有没有更好、更复杂的方法可以做到这一点,这样我就不需要复制项表,因为它有很多数据,而且加载速度可能会慢两倍?我在互联网上搜索了这个,但找不到。
您还可以定义一个缓冲区。这就像是第二个记录指针。
DEFINE BUFFER item2 FOR item.
DEFINE QUERY qItem FOR item, structure, item2.
需要预先填充临时表。数据库表上的缓冲区会根据需要进行更多填充。