function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
TShinchiTShinchi 

SOQL:子オブジェクトのサブクエリによる取得

SOQLにて、親オブジェクト(Account)に対する子オブジェクトをサブクエリで取得しようと試みているのですが、

                              ^
ERROR at Row:1:Column:52
Didn't understand relationship '* in FROM part of query call. If you are attempting to use a custom relationship, be sure to append the '__r' after the custom relationship name. Please reference your WSDL or the describe call for the appropriate names.

 

のようなエラーが出て、取得することができません。

 

実行しようとしているSOQLは以下になります。

 

Select Name, (SELECT Name FROM Children) From Account

 

ChildrenオブジェクトはAccountの「カスタム項目 & リレーション」で子リレーション名「Children」を定義しています。

 

以上、よろしくお願いします。

TShinchiTShinchi

ChildrenをChildren__rとしてみることは試してみましたがダメでした。

takahiro-yoneitakahiro-yonei

Select Name, (SELECT Name FROM Children) From Account

 

ChildrenオブジェクトはAccountの「カスタム項目 & リレーション」で子リレーション名「Children」を定義しています。

 


Childrenオブジェクトの定義はどうなってますか?

 

この場合ですと、Childrenオブジェクトの項目として、(例えば)「Account」といった取引先を参照し、子リレーション名を「Children」として定義するようになります。(親がAccountで子がChildrenになります)

 

 

こちらの勘違いかもしれませんが、Accountオブジェクトの方に、Childrenオブジェクトへの参照項目を定義していないでしょうか?

※Accountオブジェクトの方にChildrenオブジェクトへの参照を定義すると、Childrenが親、Accountが子になりますが...

 

ご確認のほど、よろしくお願いします。

TShinchiTShinchi

おっしゃる通り、参照項目の定義が親子で逆になっていました。


無事、取れるようになりました。ありがとうございます。