0
我对CoreData非常新,想要做这样的事情。复杂CoreData查询
我有2个实体
Cave.title Condition.date
Cave.conditions <-->> Condition.cave
我需要查询所有条件和按日期排序。 (最新第一) 然后,我需要得到他们的cave.title但每个洞窟应该只显示一次(最新情况)
例
Condition1 (06.09.2011) - Cave1
Condition2 (05.09.2011) - Cave3
Condition3 (05.09.2011) - Cave1
Condition4 (04.09.2011) - Cave5
这应该表明这样
Cave1 (06.09.2011)
Cave3 (05.09.2011)
Cave5 (04.09.2011)
任何关于如何完成这个任务的想法?
在SQL我会做这样的
SELECT DISTINCT c.title as title, c.caveID as caveID, cn.countryshort as countryshort, MAX(cc.divedate) as divedate
FROM caves as c, countries as cn, caveconditions as cc
WHERE cn.countryID = c.countryID
AND c.caveID = cc.caveID
GROUP BY c.title
ORDER BY divedate DESC;
输出
2011-09-08 13:39:24.951 CaveConditions[23026:11903] Chaudanne (1287350157)
2011-09-08 13:39:24.952 CaveConditions[23026:11903] Sorgente Bossi (1287333080)
2011-09-08 13:39:24.953 CaveConditions[23026:11903] Elefante Bianco (1287248755)
2011-09-08 13:39:24.953 CaveConditions[23026:11903] Cogol dei Siori - Oliero (1287248678)
2011-09-08 13:39:24.954 CaveConditions[23026:11903] Source du Lison (1287324493)
2011-09-08 13:39:24.955 CaveConditions[23026:11903] Resurgénce de Gouron (1287324296)
2011-09-08 13:39:24.955 CaveConditions[23026:11903] Fontaine du Truffe (1287006107)
2011-09-08 13:39:24.956 CaveConditions[23026:11903] Gouffre de Cabouy (1287005780)
2011-09-08 13:39:24.957 CaveConditions[23026:11903] Emergence du Ressel (1286908470)
2011-09-08 13:39:26.037 CaveConditions[23026:11903] Source de l'Orbe (1287175659)
2011-09-08 13:39:26.120 CaveConditions[23026:11903] Bätterich (1286812411)
2011-09-08 13:39:26.220 CaveConditions[23026:11903] Cogol dei Siori - Oliero (1286787535)
2011-09-08 13:39:26.288 CaveConditions[23026:11903] Fontaine de Saint Georges (1286744641)
2011-09-08 13:39:26.379 CaveConditions[23026:11903] Source du Doubs (1286736293)
2011-09-08 13:39:26.480 CaveConditions[23026:11903] Source Bleue (Montperreux) (1286736150)
2011-09-08 13:39:26.613 CaveConditions[23026:11903] Source Bleue Cusance (1286814108)
2011-09-08 13:39:26.796 CaveConditions[23026:11903] Fontaine de Saint Georges (1286652629)
2011-09-08 13:39:27.096 CaveConditions[23026:11903] Source de l'Orbe (1286735940)
2011-09-08 13:39:27.846 CaveConditions[23026:11903] Gouffre de Cabouy (1286568932)
我很确定这可以一次直接拉出。我编辑了以前的文章,并添加了SQL代码,如果它在SQL DB中,我将运行它。 – Chris
编辑我上面的答案.. – Octoshape
如果它不起作用尝试setPropertiesToFetch以下内容: [NSArray arrayWithObject:@“nameOfRelationship.title”]; ('nameOfRelationship'是从Condition到Cave的关系的名称,而不是其他方式) – Octoshape