部分一致に基づいてケースの所有者を取得しようとしています。部分一致に一致する最新のケースを選択します。
これは私が試みているクエリです:
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」桁を選択すると、次のようなケース番号が表示されます。
- 0001
- 0125
- 1234
- 33456
ケース番号を再構成して、上記のケース番号だけでなく、次のケース番号を取得することもできます...
- 000001
- 001234
- 033456
人々がこの声明で混乱することを望んでいませんでしLIKE
た。問題は、001234 と 1234 は異なるケースであるため、顧客が 1234 を提供し、2 つのレコードが見つかった場合、それらが最新のケースであると想定して開始したいと思います。
したがって、LIKE
ステートメントまたはIN
次を含むステートメントを検討してください。('001234', '1234')