Не совсем ясно из вашего вопроса, что именно вы пытаетесь отфильтровать.Но если вы хотите получить список родителей, у которых есть дочерняя запись с датой, соответствующей некоторому критерию, то вы можете использовать полусоединение, например,
select name from parent where
id in (select parentId from child where date__c > :today)
. Вы также можете добавить дочерний подзапрос, есливам также нужны данные о ребенке, например,
select name, (select someChildFields from child__r) from parent where
id in (select parentId from child where date__c > :today)
. Это даст вам родителя, у которого есть ребенок с критериями, а для каждого родителя - все дети.Вы также можете отфильтровать подзапрос по тем же критериям, если вы хотите, чтобы только дочерние элементы соответствовали критериям, например,
select name, (select someChildFields from child__r where date__c > :today)
from parent where id in (select parentId from child where date__c > :today)
Наконец, в зависимости от того, что именно вы пытаетесь сделать, вы также можете перевернутьвокруг него и напрямую запрашивает дочернюю таблицу, извлекая данные из родительской записи, например,
select childFields, parent__r.name from child where date__C > :today