我在按日期过滤我的SOQL查询时遇到了一些问题,其中日期字段属于我正在查询的对象的子项.
我在文档中找不到任何内容,我尝试了两个不同的查询,这两个查询都失败了:
SELECT Name, (SELECT Date__c FROM Child__r)
FROM Parent Where Date__c >= <todays_date>
SELECT Name, (SELECT Date__c FROM Child__r)
FROM Parent Where Child__r.Date__c >= <todays_date>
Run Code Online (Sandbox Code Playgroud)
这在Salesforce中甚至可能吗?
从你的问题来看,你的问题并不完全清楚.但是如果你想获得一个父母列表,这些父母的子记录的日期与某个critera匹配,那么你可以使用半连接,例如
select name from parent where
id in (select parentId from child where date__c > :today)
Run Code Online (Sandbox Code Playgroud)
如果您还想要子数据,也可以添加子子查询
select name, (select someChildFields from child__r) from parent where
id in (select parentId from child where date__c > :today)
Run Code Online (Sandbox Code Playgroud)
这将使您拥有符合条件的孩子的父母,并为每个父母获得所有孩子.如果您只想要符合条件的子项,您也可以使用相同的条件过滤子查询,例如
select name, (select someChildFields from child__r where date__c > :today)
from parent where id in (select parentId from child where date__c > :today)
Run Code Online (Sandbox Code Playgroud)
最后,根据您正在尝试做的事情,您还可以翻转它并直接查询子表,从父记录中提取数据,例如
select childFields, parent__r.name from child where date__C > :today
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9882 次 |
| 最近记录: |