在下面的代码中,括号做了什么?或者更确切地说,这整个叫什么叫ACTUALLY?

时间:2015-09-18 21:02:11

标签: salesforce

[SELECT i.Name,(SELECT Name from Line_items__r ORDER BY Name)FROM Invoice__c i 在哪里i.Name =:invoiceName LIMIT 1];

为什么需要一个i变量和括号?例如,为什么不这样做:

SELECT Name FROM Invoice__c WHERE Name =:invoiceName LIMIT 1?括号是否只是专门获取订单项的方式?

仔细阅读代码会非常有帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

以下部分是一个子查询:

SELECT Name FROM Line_items__r ORDER BY Name

这是SOQL遍历父母与子女之间关系的方式。见Using Relationship Queries。由于它是子关系,可能会返回多个子结果。括号是子查询语法的一部分。

i变量可能不是必需的。但是,有助于从Invoice__c记录的名称字段中消除Line_items__c记录的名称字段的歧义。