Написать собственный SQL в Core Data

Мне нужно написать собственный SQL-запрос, пока яЯ использую Core Data в моем проекте. Мне действительно нужно это сделать, так как ям используюNSPredicate прямо сейчас и этонедостаточно эффективны (только в одном случае). Мне просто нужно написать пару подзапросов и объединений, чтобы получить большое количество строк и отсортировать их по специальному полю. В частности, мне нужно отсортировать его по сумме значений их дочерних объектов. Прямо сейчас ясобираю все, используя NSPredicate, а затем яЯ сортирую свой результат (массив) вручную, но это занимает слишком много времени, так как существует много тысяч результатов.

Пожалуйста, поправьте меня, если яя не прав, но яЯ уверен, что это можетне будет большой проблемой, так какs способ использования sqlite в приложениях iOS.

Было бы здорово, если бы кто-то мог направить меня в правильном направлении. Заранее спасибо.

РЕДАКТИРОВАТЬ: Позвольте мне объяснить, что яя делаю. Вот'Моя модель Coredata:

И здесь'Как выглядит мой результат на iPad?

m показывает таблицу с одной строкой для каждого клиента, где у каждого клиента есть объем продаж, который он совершил с января по июнь 2012 года (последний) и 2013 года (курс). Сразу послеCurr там'Разница между этими двумя значениями. То же самое для валовой прибыли и коэффициента покрытия.

Каждый клиент сохраняется вKunde стол и каждыйKunde имеет паруPbsRows.PbsRow фактически содержит сумму продаж в месяц.

Так что яя делаю для того, чтобы показать эти результаты, чтобы получить всеPbsRows с января по июнь 2013 года, а затем сделайте это:

self.kunden = [NSMutableOrderedSet orderedSetWithArray:[pbsRows valueForKeyPath:@"kunde"]];

Теперь у меня есть все клиенты (Kunde), у которых есть записи в период с января по июнь 2013 года. Тогда яиспользуя цикл for для расчета суммы для каждого отдельного клиента.

Идея состоит в том, чтобы получить объемы продаж текущего года и сравнить их с прошлым годом. Плохо то, что есть много клиентов иforпетля просто занимает очень много времени :-(

Ответы на вопрос(3)

Ваш ответ на вопрос