A CaseMilestone record can have one Case record and one Case record can have many CaseMilestone records.
So this works:
SELECT Id, (SELECT Id FROM CaseMilestones) FROM Case
Similarly, a CaseMilestone record can have one MilestoneType record and one MilestoneType record can have many CaseMilestone records, but the following doesn't work:
SELECT Id, (SELECT Id FROM CaseMilestones) FROM MilestoneType
How come? If it is because not all CaseMilestones are required to have an associated MilestoneType, which query will get me what I'm looking for?
Check "Child Relationship Name" in Lookup from CaseMilestones to MilestoneType
and change to SELECT Id, (SELECT Id FROM "Child Relationship Name") FROM MilestoneType