0

我有一个 SOQL 查询。如果查询遍历关系,则字段列表可以包含子查询。例如:

SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account

我无法理解“穿越关系”这句话,谁能解释一下?

4

3 回答 3

0

我相信他们是说,如果它们有关系并且您使用子查询,您可以使用 SELECT 从与 FROM 子句中的表有关系的表中返回字段。在您的示例中,即使您的 FROM 是从“Account”中提取的,您也可以使用子查询从“Contact”表中返回“LastName”,因为那里存在关系(“Account.Contacts”)。

于 2011-03-31T13:08:10.233 回答
0

在这种情况下,这意味着您可以从“one”端对象的查询中的“many”端调用一对多关系。实际上,它类似于 SQL 中的嵌套查询,基于顶部查询中游标的当前位置查询子表。不同之处主要在于结果集在 SQL 中是平铺的,而在 SOQL 中是分层的。

更清楚地说,这个查询意味着: foreach 帐户加载名称并遍历其所有联系人以检索联系人的姓氏。如果一个帐户有 10 个联系人,您将获得一个主行,其联系人列表将包含 10 行

于 2011-03-31T22:10:10.357 回答
0

不是有效的 sql。子查询应该有一个连接,否则它将返回多条记录,这将违反主查询每行一条记录的规则

于 2021-11-12T19:06:20.270 回答