1

我正在尝试编写一个 SOQL 查询,该查询将用户信息与 DefaultDivision 的名称一起拉回。执行以下操作时:

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 就是其中之一(所以实际上我上面的查询可能不起作用)。在这种情况下,没有单一查询方式来获取您想要的信息 - 您必须首先查询部门及其 ID,然后使用 DefaultDivision 查询用户,然后使用 ID 从 ID 解析部门名称第一次查询的结果。

幸运的是,这种情况不再经常发生,但在使用 Divisions 时,您会稍微深入 Salesforce.com 的深度,因此您可能会在那里发现一些不寻常的东西。

于 2013-01-09T23:08:14.000 回答