I want to write a soql query , My scenario is as follows. I have three objects objectA,objectB,objectC. objectA is the parent object for both objectB,objectC.

  • objectA - objectB (Master-detail relationship)
  • objectA - objectC (Master-detail relationship)`

ObjectB has two fields:

  • Start_date__c
  • End_date__c

ObjectC has a field:

  • Date__c

Now i want to retrieve records with date__c in objectC those were in between start_date__c and end_date__c of objectB. how can i achieve such functionality .

  • 2
    Is there always exactly one ObjectB record on an ObjectA? Or are you dealing with a specific ObjectB? May 21, 2014 at 13:18

1 Answer 1


You can try to query the junction object like this:

Select ObjectC__r.Id, ObjectC__r.Name
From ObjectA__c
Where ObjectC__r.Date__c >= ObjectB__r.start_date__c
And ObjectC__r.Date__c <= ObjectB__r.end_date__c
  • 1
    the __r syntax in your example is referencing the child (many) side of the relationship and isn't valid.
    – Mark Pond
    May 21, 2014 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.