【发布时间】:2020-05-07 05:52:27
【问题描述】:
我有一个临时表 ttsales,其中包含一个整数类型的字段名称 t_sales,我想从 t_sales 中找出最大值和最小值,然后在按钮上单击将显示的最大值和最小值。我该怎么办?
【问题讨论】:
标签: openedge progress-4gl
我有一个临时表 ttsales,其中包含一个整数类型的字段名称 t_sales,我想从 t_sales 中找出最大值和最小值,然后在按钮上单击将显示的最大值和最小值。我该怎么办?
【问题讨论】:
标签: openedge progress-4gl
一种可能性是按升序和降序对临时表进行排序。添加索引会有所帮助。如果您无法更改临时表及其大小,这可能不是最佳解决方案。
DEFINE TEMP-TABLE ttsales NO-UNDO
FIELD t_sales AS INTEGER
INDEX sales t_sales.
DEFINE VARIABLE iMin AS INTEGER NO-UNDO.
DEFINE VARIABLE iMax AS INTEGER NO-UNDO.
CREATE ttsales.
ASSIGN ttsales.t_sales = 10.
CREATE ttsales.
ASSIGN ttsales.t_sales = 1.
CREATE ttsales.
ASSIGN ttsales.t_sales = 130.
CREATE ttsales.
ASSIGN ttsales.t_sales = 2.
/* Get minimum value */
FOR EACH ttsales BY ttsales.t_sales:
iMin = ttsales.t_sales.
LEAVE.
END.
/* Get maximum value */
FOR EACH ttsales BY ttsales.t_sales DESCENDING:
iMax = ttsales.t_sales.
LEAVE.
END.
DISPLAY iMin iMax.
【讨论】:
DEFINE QUERY qry FOR tsales.
OPEN QUERY qry FOR EACH tsales BY t_sales.
GET FIRST qry.
MESSAGE tsales.t_sales.
GET LAST qry.
MESSAGE tsales.t_sales.
根据表的大小,在字段上添加索引。
【讨论】: