次のクエリは成功しましたが、クエリをカスタム オブジェクトに適用すると失敗します。問題の原因を突き止める必要があります。
SELECT Id, Account.Name FROM Contacts WHERE AccountId in (SELECT Id FROM Account)
背景:Customers
とVisits
の 2 つのエンティティがあります。どの顧客にも多くの訪問が発生する可能性があります。Customer_Visits__c
複数のフィールドを持つカスタム オブジェクトを作成しました。これには、Account (sObject) を参照して Account Id 項目を格納する Customer__c というルックアップ項目があります。関係名はCustomerVisitsAccounts
. SOQL クエリで顧客名フィールド (Account.Name) を返すことができるようにしたいと考えています。つまり、訪問レコードごとに顧客の名前を表示します。次の方法で成功します。
SELECT Id, Name FROM Customer_Visits_ c WHERE Customer _c in (SELECT Id FROM アカウント)
これが私が失敗したSOQL文字列です:
SELECT Id, Name, CustomerVisitsAccounts__r.Name FROM Customer_Visits_ c WHERE Customer _c in (SELECT Id FROM Account)
これが私が得るエラーメッセージです:
行:1:列:18 のエラーフィールド パスの関係 'CustomerVisitsAccounts_ r' を理解できませんでした。カスタム関係を使用しようとしている場合は、必ずカスタム関係名の後に「_r」を追加してください。適切な名前については、WSDL または記述呼び出しを参照してください。