*-If anotherfield had an index tag on it : if seek(thisVALUE, 'SearchTable', 'AnotherFieldTag') luValue = SearchTable.RequestedField *... *-If not (or might) check lookup() luRetValue = if !empty( LOOKUP(ReturnValueFromField, thisVALUE, ; AnotherField [, cAnotherTagName]) ) && Found *.... * For example current table is customer and employee table is open * You want to know if exists an employee within the same city of customer * City is not indexed - sequential check select customer if !empty(lookup(employee.emp_id,customer.city,employee.City)) && Yes ? employee.emp_id, employee.First_Name, employee.Last_Name * Both functions would move the pointer in SearchTable * this might be a disadvantage. OTOH both also work on buffered tables. * SQL doesn't work on buffered recs select field from SearchTable ; where anotherfield = thisValue ; into array arrField if _Tally > 0 && Exists * Exists in SQL is used in a different way select * from TableA ; where exists ; (select * from TableB where TableA.SomeField = TableB.SomeField)Cetin