У меня есть языковая сущность, которая хранит текст и код языка, с которым она идет.Мне нужно получить список всего текста для языка, который выбрал пользователь, если только конкретная строка текста не доступна на этом языке, и в этом случае мне нужно получить версию на английском языке.
MyТаблица, в основном, выглядит следующим образом, в терминах SQL:
DECLARE TABLE Languages
(
textId int,
languageCode char(2),
text varchar(2000)
)
С обоими textId и languageCode в качестве моего первичного ключа.
В SQL я бы в основном сделал это:
SELECT ISNULL(l.text, e.text)
FROM
(SELECT * FROM Languages WHERE languageCode = 'en') t
LEFT JOIN
(SELECT * FROM Languages WHERE languageCode = @selectedLanguage) l
ON l.textId = t.textId
Это должно дать мне ровно 1 кусок текста для каждого textId;используя английский, если не удается найти selectedLanguage.
Можно ли сделать что-то подобное, используя NSPredicate и FetchedResultsController?Я нашел немного информации о ключевом слове SUBQUERY, но никакого реального объяснения того, как использовать его с NSPredicate, нет.