我试图根据部分匹配检索一个案例的所有者,其中我们选择了与部分匹配匹配的最新案例。
这是我正在尝试的查询:
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语句,要么考虑包含('001234', '1234')的IN语句
发布于 2011-11-17 15:40:56
ORDER BY和LIMIT在子查询中没有意义,因为您没有从子查询返回记录。相反,子查询只构建用于筛选主查询的ID列表。
如果以返回子查询记录的方式使用子查询,则这些子句是可以的。例如,这起作用是:
SELECT Name,
(SELECT FirstName, LastName FROM Contacts ORDER BY LastName LIMIT 10)
FROM Account发布于 2014-04-23 17:24:57
我认为值得补充的是,由于SOQL的新特性在第一次询问和回答这个问题时是不可用的,从案例中查询的方法现在应该是可行的(可以访问自定义字段)。
特别是,type特性通过多态查找提供对特定类型字段的访问:typeof.htm
值得注意的是,这个特性仍然处于Developer .中。
SELECT
TYPEOF Owner
WHEN User THEN CustomField__c
END
FROM CASE发布于 2012-09-24 14:31:09
您是否尝试过将您的查询转换为类似于此的内容?
SELECT OwnerId, (select id from user)
FROM Case
WHERE Case.CaseNumber LIKE '%1026'
ORDER BY Case.CreatedDate DESC LIMIT 1https://stackoverflow.com/questions/8165287
复制相似问题