こんにちは、アンダーソンです。
サブクエリを実行した際に取得できないケースがあったので残しておきます。
Contents
取得できない項目タイプ
サブクエリとは、参照もしくは主従関係の主側から関連している子のレコードを取得してくる
SOQLの一種です。例えばAccountに対して関連しているAttchmentを取得する場合は下記のような
SOQLを発行します。
SELECT Id,(SELECT Id FROM Attachments) FROM Account
この場合の取得結果は下記のようになります。

Accountに関連している添付ファイルがリスト型で出てきます。
※子リレーションに関しては詳しくはこちらで説明しています。
さて、このAttachment、添付ファイルにはBodyという項目が存在するのですが、
項目のタイプはBlob型になります。
このBlob型をサブクエリで取り出そうとすると、
Binary fields cannot be selected in join queries
というエラーが出てきます。
Blob型の項目はサブクエリじゃ取得できないよというものです。
まさに青天の霹靂。知らなかった。。。
今回は添付ファイルを取り出して新しいAccountに付け替えるというものだったので、
素直にクエリを発行して付け替えました。
Attachmentの落とし穴
ここからおまけなんですが、AttachmentにはParent(親オブジェクトのId参照)という項目があります。今回このParentを新しいAccountのIdにかえればいいやと思っていたんですが、
Field is not writeable: Attachment.ParentId
親項目は変更することができないようです。
付け替えてそのまま前のやつを消すしかなさそうです。