标签: soql

Salesforce SOQL查询站点的"Notes和附件"

基本上,我需要一个使用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)

.net web-services salesforce soql

3
推荐指数
1
解决办法
1万
查看次数

有没有办法按SOQL中的日期时间字段的日期部分进行分组?

有没有办法(没有创建公式datevalue(datetime)字段)在日期时间字段的日期部分聚合SOQL查询?例如,我想做类似的事情:

select datevalue(datetimeField), count(Id) from object__c group by datevalue(datetimeField)

salesforce soql apex-code

3
推荐指数
1
解决办法
5326
查看次数

LimitException:查询行太多:来自count()聚合函数的50001

我有一个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页面设置为只读以增加查询行限制.

salesforce soql visualforce apex-code

3
推荐指数
1
解决办法
1万
查看次数

使用SOQL进行连接

这是我的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.

我想结合Query1Query2,所以c.regcode__c = p.Code__c

我被困了,我似乎无法获得SOQL的语法.甚至可以在API中进行连接吗?

salesforce soql apex-code

3
推荐指数
1
解决办法
2万
查看次数

当 SQL 查询具有子/父关系时,Force.com Toolkit for .NET 类构造与 QueryAsync

我正在运行以下查询,其中包含 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返回的 …

.net toolkit force.com soql

3
推荐指数
1
解决办法
690
查看次数

使用 SOQL 查询 Salesforce 对象列名称

我在 Salesforce 实例和 S3 存储桶之间的 SnapLogic 集成中使用 Salesforce SOQL snap。

我正在尝试在 Salesforce SOQL 快照字段“SOQL 查询*”中使用 SOQL 查询来返回对象的列名称。例如,我想运行 SOQL 查询以返回“帐户”对象的列名。

我这样做是因为 SOQL 不允许“选择 *”。我已经在 Apex 中看到了代码解决方案,但我正在寻找一种仅使用 SOQL 查询的方法。

Salesforce SOQL 快照

salesforce soql snaplogic

3
推荐指数
1
解决办法
3340
查看次数

具有自联接 + 关系的 Salesforce SOQL 查询(ContentDocument/ContentVersion)

我正在尝试编写 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)

所以我知道你不能编写一个子查询来定位与其外部查询相同的对象,所以显然我上面指定的内容是行不通的。关于什么会起作用有什么建议吗?

谢谢。

salesforce force.com soql

2
推荐指数
1
解决办法
4327
查看次数

将变量传递给 SOQL 中的选择查询

我正在运行一个 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 的位置)不知何故)。

python soql apex

2
推荐指数
1
解决办法
2888
查看次数

Talend - 限制处理的行数

我正在使用 Talend ETL 在两个 Salesforce 组织之间传输数据。我正在尝试运行初步测试以确保一切设置正确。

有没有办法限制传输的行数?数据库有超过 50,000 行,而我只想发送超过 15 或 20 行。

谢谢你。

soql talend

2
推荐指数
1
解决办法
2455
查看次数

Salesforce,使用 SOQL 从 ProcessInstance 对象访问 TargetObject 字段

我的控制器中有以下内容,用于由 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 apex

2
推荐指数
1
解决办法
1832
查看次数