基本上,我需要一个使用Web服务API执行的SOQL查询,该查询将返回通常显示在Salesforce Web UI中"帐户"页面的"注释和附件"部分中的所有NoteAndAttachment项目.这不仅包括附加到帐户本身的N&A,还包括附加到与帐户相关的任何案例,机会或联系人的N&A.Salesforce本身似乎没有问题获取该信息,但在SOQL限制和数据模型限制之间,我还没有找到一个令人满意的解决方案.
这是我到目前为止所拥有的:
SELECT Id,
(select Id, Title, IsNote from NotesAndAttachments),
(select Id, Title, IsNote from Contacts.NotesAndAttachments),
(select Id, Title, IsNote from Cases.NotesAndAttachments),
(select Id, Title, IsNote from Opportunities.NotesAndAttachments)
FROM Account a WHERE Id = '{0}'
Run Code Online (Sandbox Code Playgroud)
{0}用于.NET String.Format; 这将是我正在提取记录的帐户ID.此特定查询失败,并出现以下异常:
System.Web.Services.Protocols.SoapException : INVALID_FIELD:
(select Id, Title, IsNote from Contacts.NotesAndAttachments),
^
ERROR at Row:3:Column:48
Didn't understand relationship 'Contacts' in field path. If you are attempting to use a custom relationship, be sure to append the '__r' after the custom relationship name. …
Run Code Online (Sandbox Code Playgroud) 有没有办法(没有创建公式datevalue(datetime)字段)在日期时间字段的日期部分聚合SOQL查询?例如,我想做类似的事情:
select datevalue(datetimeField), count(Id) from object__c group by datevalue(datetimeField)
我有一个Visualforce页面,我想显示特定sObject表中记录数的计数.
在Visualforce页面中,我有一些相当简单的东西,比如:
<p>Client Account Count: {!ClientAccountCount}</p>
Run Code Online (Sandbox Code Playgroud)
然后在控制器中:
// Return the number of clients
public integer getClientAccountCount() {
return [Select count() from Account where SomeCustomField__c = 'Client' limit 50000];
}
Run Code Online (Sandbox Code Playgroud)
我认为在SOQL中使用limit子句我会很好,因为它只会返回最多50,000个.但是,实际上我仍然在生产组织中得到这个例外:
09:29:12:179 SOQL_EXECUTE_BEGIN [108] |聚合:0 |从Account中选择count(),其中SomeCustomField__c ='Client'限制50000
09:29:12:331 EXCEPTION_THROWN [108] | System.LimitException:查询行太多:50001
有没有一种安全的方法来执行此查询,不会导致我无法捕获的异常?
奇怪的是,如果我在生产中尝试以下作为匿名顶点它可以正常工作并返回50,000.
integer count = [select count() from Account where SomeCustomField__c = 'Client' limit 50000];
Run Code Online (Sandbox Code Playgroud)
也许问题是导致问题的所有操作的累积查询行数,我需要在运行查询之前检查代码中的限制?
Force.com讨论板上有一篇类似的帖子 - COUNT(*)函数上的查询行太多了.我无法将VF页面设置为只读以增加查询行限制.
这是我的SOQL问题.
查询1:
Select
c.Date_Joined__c,
c.Email,
c.FirstName,
c.LastName,
c.regcode__c
from Contact c WHERE c.regcode__c ='XXXXXXXXX'
Run Code Online (Sandbox Code Playgroud)
查询2:
Select
p.Account__c,
p.Date__c,
p.Points__c,
p.Description__c,
p.Code__c
from Points__c p where p.Account__c ='YYYYYYYYYYYY' and (p.Points__c > 0)
Order by p.Date__c DESC
Run Code Online (Sandbox Code Playgroud)
两个查询之间的关系c.regcode__c
将具有相同的值p.Code__c
.
我想结合Query1和Query2,所以c.regcode__c = p.Code__c
我被困了,我似乎无法获得SOQL的语法.甚至可以在API中进行连接吗?
我正在运行以下查询,其中包含 Case 和 Account 之间的 child => parent 关系 - 并在 SELECT 中包含 Account.Name:
string query = "SELECT Case.CaseNumber,Case.Account.Name,Case.Status FROM Case WHERE Status != 'Closed' AND OwnerId IN (SELECT Id FROM User WHERE Email = '" + userEmail + "') ORDER BY Account.Name";
var results = await client.QueryAsync<CaseWorkload>(query);
Run Code Online (Sandbox Code Playgroud)
所述CaseWorkload
类的定义为:
public class CaseWorkload
{
public string CaseNumber { get; set; }
public string Status { get; set; }
public string AccountName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我无法检索AccountName
返回的 …
我在 Salesforce 实例和 S3 存储桶之间的 SnapLogic 集成中使用 Salesforce SOQL snap。
我正在尝试在 Salesforce SOQL 快照字段“SOQL 查询*”中使用 SOQL 查询来返回对象的列名称。例如,我想运行 SOQL 查询以返回“帐户”对象的列名。
我这样做是因为 SOQL 不允许“选择 *”。我已经在 Apex 中看到了代码解决方案,但我正在寻找一种仅使用 SOQL 查询的方法。
我正在尝试编写 SOQL 查询来检索一些 Salesforce Content 记录,但在确定下一步时遇到了一些困难。如果该文档的任何版本的自定义字段具有值(不为空),我想排除该文档的所有版本。这是我正在尝试做的事情的简化版本:
Select Id, Title
From ContentVersion
Where ContentDocumentId Not In
(
Select ContentDocumentId,
From ContentVersion
Where Custom_Field__c != null
)
Run Code Online (Sandbox Code Playgroud)
所以我知道你不能编写一个子查询来定位与其外部查询相同的对象,所以显然我上面指定的内容是行不通的。关于什么会起作用有什么建议吗?
谢谢。
我正在运行一个 Python 脚本,该脚本使用simple-salesforce 包来查询我的 Salesforce 帐户中的所有数据。对于上下文,脚本读取存储在 CSV 文件中的字典并将特定值(字符串)存储在变量中(见下文)。
with open('/Users/username/Documents/filename.csv', 'rU') as f:
mydict = dict(filter(None, csv.reader(f)))
myString = mydict['key']
Run Code Online (Sandbox Code Playgroud)
然后,我想将变量 (myString) 传递到 SOQL 选择查询中。但是,当我尝试将变量传递到查询中时,出现以下错误:绑定变量仅在 Apex 代码中允许。下面,您可以看到我尝试以 simple-salesforce 格式运行的查询,用于 SOQL 查询。
sf.query("SELECT Id, Name FROM deal__c WHERE contact__c = myString")
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何将我的变量传递到 SOQL 选择查询中?如果这是最佳解决方案,我愿意使用 Apex 或动态 SOQL,但如果这是最佳解决方案,请告知如何在我的 Python 脚本中使用 Apex 代码(即,如果我需要指定切换到 Apex 或安装 Apex 的位置)不知何故)。
我正在使用 Talend ETL 在两个 Salesforce 组织之间传输数据。我正在尝试运行初步测试以确保一切设置正确。
有没有办法限制传输的行数?数据库有超过 50,000 行,而我只想发送超过 15 或 20 行。
谢谢你。
我的控制器中有以下内容,用于由 PageBlockTable 使用的 Visualforce 页面。
我可以访问 p.ProcessInstance.TargetObject 的其他标准字段,例如 p.ProcessInstance.TargetObject.Name 和 .Id 等...
但是,如何访问与记录相关的 TargetObject 的自定义字段?或者这是不可能的?如果不可能,那么我假设我可以在单独的查询中完成,但我无法弄清楚如何。
谢谢
List<ProcessInstanceWorkitem> results = [Select p.ProcessInstance.Status, p.ProcessInstance.TargetObject.Name, p.ProcessInstance.TargetObject.Id, p.Actor.Name, p.CreatedBy.Name, p.CreatedDate FROM ProcessInstanceWorkitem p];
Run Code Online (Sandbox Code Playgroud) soql ×10
salesforce ×6
apex-code ×3
.net ×2
apex ×2
force.com ×2
python ×1
snaplogic ×1
talend ×1
toolkit ×1
visualforce ×1
web-services ×1