When I run the following query in query editor I get this error.
Unknown error parsing query
SELECT Id, OwnerId,Account.OwnerId FROM Contact where OwnerId = Account.OwnerId limit 100
Does anybody know what the problem is?
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It only takes a minute to sign up.Sign up to join this community
You can't compare a field to another field in
Salesforce has added a clear Knowledge Article to make that clear. From Field to field comparison in an SOQL WHERE clause:
Salesforce does not allow direct field to field comparison in SOQL query.
To achieve this you can create a formula field that will compare fields and return a value (such as true or false) which you can use in a WHERE clause.
Originally I also pointed to the documentation on fieldExpression Syntax (emphasis mine):
fieldName comparisonOperator value
value: A value used to compare with the value in fieldName. You must supply a value whose data type matches the field type of the specified field. You must supply a native value—other field names or calculations are not permitted. If quotes are required (for example, they are not for dates and numbers), use single quotes. Double quotes result in an error.
A common workaround is to create a checkbox formula to the same effect. Then just check if it's true in your query.