我正在尝试根据部分匹配检索一个案例的所有者,我们选择与部分匹配匹配的最新案例。
这是我正在尝试的查询:
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 并且我找到两条记录,我想开始假设它们是最近的情况。
所以要么考虑LIKE
语句或IN
包含的语句('001234', '1234')