我如何链接两个表并获取正在进行的值4GL



我有两个表员工和订单,在两个表中作为EMP-ID(字段)都是常见的。从顺序表。如何链接这些表并获取值

define variable c as integer.
define query q1 for customer,order SCROLLING.

INPUT FROM Value ( "C:srcNew foldercnum.txt"). 

IMPORT c.

open query q1 for each employee where employee.emp-id=c ,
each  order where  (order.emp-id  = employee.emp-id ).

当查询浏览中的冲突使用

时,这给我带来了错误

如果您想从文本文件中获取员工ID,则应该这样做。它将读取文件的每一行上的ID,查找员工记录并显示订单信息。

DEFINE VARIABLE c AS INTEGER NO-UNDO.
INPUT FROM VALUE("C:srcNew foldercnum.txt"). 
REPEAT:
    IMPORT c.
    FIND FIRST Employee WHERE Employee.Emp-ID = c NO-LOCK NO-ERROR.
    IF NOT AVAILABLE(Employee) THEN 
    DO:
        MESSAGE "Cannot find employee with ID " c VIEW-AS ALERT-BOX ERROR.
        NEXT.
    END.
    FOR EACH Order NO-LOCK WHERE Order.Emp-ID = Employee.Emp-ID:
        DISPLAY
            Employee.Emp-Name
            Employee.Emp-Ph
            Order.Order-Num.
    END.
END.
INPUT CLOSE.

您需要定义两个表的查询:

DEFINE QUERY q1 FOR Customer, Order SCROLLING.

您的要求不提及客户表,也不需要文件中的输入,因此我将重点介绍您所需要的内容:

for each employee no-lock,
    each order no-lock where order.emp-id = employee.emp-id:
  display employee.name employee.emp-ph order.order-num.
end.

最新更新