Я пытаюсь получить владельца дела на основе частичного совпадения, где мы выбираем самый последний случай, который соответствует частичному совпадению.
Я пытаюсь выполнить запрос:
SELECT User.CustomField__c
FROM User
WHERE User.Id IN (
SELECT OwnerId
FROM Case
WHERE Case.CaseNumber LIKE '%1026'
ORDER BY Case.CreatedDate DESC LIMIT 1)
Следующий запрос работает сам по себе, но не выглядит счастливым как часть подзапроса:
SELECT OwnerId
FROM Case
WHERE Case.CaseNumber LIKE '%1026'
ORDER BY Case.CreatedDate DESC LIMIT 1
Точно так же, если я опускаю ORDER BY
и LIMIT
, это работает:
SELECT User.NVMContactWorld__NVM_Agent_Id__c
FROM User
WHERE User.Id IN (
SELECT OwnerId FROM Case
WHERE Case.CaseNumber LIKE '%1026')
Запрещены ли запросы порядка / лимита в подзапросе SOQL?
Просто чтобы прояснить этот вопрос, сценарий, с которым я имею дело, выглядит следующим образом ...
Организация Salesforce может настроить «формат отображения» для номеров дел. Если они выберут «4» цифры, вы получите номера дел, такие как:
Можно перенастроить номера ваших дел для получения следующих номеров дел , а также номеров дел выше ...
Я не хотел, чтобы люди были сбиты с толку заявлением LIKE
, проблема в том, что 001234 и 1234 - это разные случаи, поэтому, если клиент поставляет 1234, и я нахожу две записи, я хочу начать с предположения, что они самый последний случай.
Итак, рассмотрим оператор LIKE
или оператор IN
, содержащий ('001234', '1234')