2016-11-23 20 views
-1

我有兩個表employee和order,其中emp-id(field)在這兩個表中都是通用的。我需要獲取emp-name和emp-ph形式職員表,並從訂單table.how爲了-NUM鏈接這些表和獲取值如何鏈接兩個表並獲取正在進行的值4gl

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


INPUT FROM Value ("C:\src\New folder\cnum.txt"). 


IMPORT c. 


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

它是扔我的錯誤衝突從查詢瀏覽使用

+0

您似乎在代碼中使用第三個表「客戶」?它如何適應? – Jensd

+0

你的問題沒有描述你接受的答案。你應該編輯它以反映你真正需要的東西。 –

回答

0

如果你試圖讓員工ID從文本文件中,這應該做到這一點。它會讀取文件每一行的ID,找到員工記錄並顯示訂單信息。

DEFINE VARIABLE c AS INTEGER NO-UNDO. 

INPUT FROM VALUE("C:\src\New folder\cnum.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. 
0

您需要定義兩個表的查詢:

DEFINE QUERY q1 FOR Customer, Order SCROLLING. 
+0

謝謝,但我仍然無法獲得值,因爲訂單號我沒有在查詢中使用。可否請您幫忙獲取訂單號,並且我已通過用員工表替換客戶表來重新編寫代碼。 – sri

0

您的要求不提客戶表也不從文件中需要輸入,所以我會專注於你說的話,你需要:

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. 
相關問題