Consultor Eletrônico



Kbase P119881: Error 8826 running INNER JOIN query
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   15/10/2008
Status: Unverified

SYMPTOM(s):

Error 8826 running INNER JOIN query

Field <field-name> from <file-name> record (recid <RECID>) was missing from FIELDS phrase. (8826)

The following code is a sample of this query:

FOR EACH customer FIELDS (customer.country) NO-LOCK:
FOR FIRST order FIELDS (order-date) WHERE order.cust-num = customer.cust-num NO-LOCK:
DISP order.order-date.
END.
END.

CAUSE:

This an expected behavior. Field required to resolve the query is missing in the FIELDS option

FIX:



This query example retrieves the customer.cust-num field in addition to those specified in the field lists because it is required to satisfy the inner join between the customer and order tables.
However, do not rely on Progress to always provide such extra fields. For reliability, add the cust-num field to the customer field list.


Alternatively, the following code also can be used:

FOR EACH customer FIELDS (customer.country) NO-LOCK,
FIRST order FIELDS (order-date) OF customer NO-LOCK :
DISPLAY order.order-date.
END.