I have the following SQL query that I want to do using Core Data:
SELECT t1.date, t1.amount + SUM(t2.amount) AS importantvalue
FROM specifictable AS t1, specifictable AS t2
WHERE t1.amount < 0 AND t2.amount < 0 AND t1.date IS NOT NULL AND t2.date IS NULL
GROUP BY t1.date, t1.amount;
Now, it looks like CoreData fetch requests can only fetch from a single entity. Is there a way to do this entire query in a single fetch request?
The best way I know is to crate an abstract parent entity for entities you wish to fetch together.
So if you have – ‘Meat’ ‘Vegetables’ and ‘Fruits’ entities, you can create a parent abstract entity for ‘Food’ and then fetch for all the sweet entities in the ‘Food’ entity.
This way you will get all the sweet ‘Meat’ ‘Vegetables’ and ‘Fruits’.
Look here:
Entity Inheritance in Apple documentation.