1

DefaultDivisionの名前とともにユーザー情報を取得するSOQLクエリを作成しようとしています。以下を実行する場合:

Select u.Email, u.FirstName, u.LastName, u.DefaultDivision from User u

'DefaultDivision'の値は、フレンドリ名(北米など)ではなく、ID(02d3498202020222など)です。DefaultDivisionがDivisionオブジェクトのIDにマップされることは知っていますが、名前を取得するにはどうすればよいですか?

私は次のようなことを試しました:

select u.Email, (select Name from Division where Id = u.DefaultDivision) from User u

しかし、直接的な関係がないため、それは機能しません(それでも、...!)。

4

1 に答える 1

1

SQLとは異なり、SOQLは、指定したタイプのサブクエリをサポートしていません。

明示的な関係が定義されているSOQLのほとんどの場合、次のように、その明示的な関係からデータを直接クエリできます。

select u.Email, u.DefaultDivision.Name from User u where Id=blahblahblah

ただし、そのような関係が明示的に定義されていない場合があり、DefaultDivisionもその1つであると思います(実際、上記のクエリはおそらく機能しません)。この場合、必要な情報を取得する単一のクエリ方法はありません。最初に部門とそのIDでクエリを実行し、次にDefaultDivisionでユーザーにクエリを実行してから、を使用してIDから部門名を解決する必要があります。最初のクエリの結果。

幸い、この種の状況はもうあまり発生しませんが、Divisionsを使用する場合は、Salesforce.comの奥深くを少し掘り下げているので、そこに珍しいものが見つかる可能性があります。

于 2013-01-09T23:08:14.000 に答える