问题标签 [soql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3345 浏览

salesforce - 如何解析没有值的 SOQL AggregateResult 列?

假设您运行如下所示的SOQL聚合查询:

无论出于何种原因,都没有填充 ExpectedRevenue 字段的机会。

你会得到一个如下所示的表:

val___|所有者 ID

4/4 记录。

(旁注:你如何输入表格数据而不会让它看起来很糟糕?)

请注意,“val”列全部为空,最后一个 OwnerId 列也为空。

有 4 行,因为 SOQL 在汇总时也返回“总计”行。

在循环通过返回的 AggregateResult[] 时,代码会在如下所示的行上爆炸: AggregateResult[0].get('val'); 带有“System.NullPointerException:尝试取消引用空对象”

但是,如果其中只有 1 个用户有一些数据,那么整个事情就可以了。所以我猜测如果在特定列中没有行有任何数据,那么该列根本不存在,并且调用检索它会爆炸。

所以我的问题是如何确定列是否存在以避免空引用错误?

0 投票
3 回答
1254 浏览

salesforce - 奇怪的 Salesforce.com SOQL 关系语法

我正在查看一个 SOQL 查询,它可能已经过时了,或者使用了它们神奇的field__r.foreign_table连接语法的某些方面,代码包含对

USER_JOBS__R

在当前对象上没有类似的字段存在的情况下,但是有名为USERJOBS的表,其中 JOBS 包含对 USER 的查找。

有没有人将其视为 SOQL 语法的一部分?

0 投票
1 回答
17574 浏览

salesforce - 用于检索两个日期之间的机会的 Sql 查询

我正在尝试检索 01-01-2011 和 06-30-2011 之间创建的机会。

因为 createdate 是一个日期时间,所以我收到一个错误,说 createdDate 是日期时间,不应该用引号引起来。

有人可以帮助如何使这个查询工作。我只是想让这个查询让它在 apex 资源管理器中运行,这不是 apex 代码的一部分

0 投票
1 回答
2326 浏览

api - Salesforce API:如何使用部分案例 ID 检索案例

我想从 Salesforce API 检索案例记录。我只有 Case Id 的开头(不要问为什么),所以我尝试了以下查询:

不幸的是,这会返回以下错误:

为什么我不能在 Id 字段上使用 LIKE 运算符?还有其他方法可以做到这一点吗?

0 投票
1 回答
591 浏览

salesforce - 可以进行复杂查询吗?

我有 3 个表,一个父表和 2 个子表。可以说 Mother_ c 是父母。那么 Child _c 和 Pet_ c 是 2 个子表,它们具有指向 Mother _c 的主从关系指针。

我有来自 Child_c 的一行的 Id ,我想从 Pet _c 中检索与该单个Child_c 行的 Mother_c 相对应的所有行。

我想知道这是否可以在一个 SOQL 查询中实现?

0 投票
3 回答
5235 浏览

salesforce - Salesforce SOQL 关系查询问题

我想通过 Account 表上的 SOQL 查询从自定义表 WebsiteUser中获取字段 userhomepage。我尝试了大约 10 个不同的查询,但我没有让它工作......

费。我已经尝试SELECT field1, (SELECT userhomepage FROM User) FROM Account了所有 __c 和 __r 组合。

我有以下结构:

WebsiteUser 表有一个名为 userhomepage 的字符串字段。如何将其放入查询中?我完全被卡住了,提前谢谢!

0 投票
1 回答
4463 浏览

salesforce - 执行自定义对象工单查询时出错

我正在为在 SFDC 中创建的自定义对象执行查询。但我收到以下错误:

{'[{"message":"\nSELECT FS_Account_Name__c from FS_Work_Order__c\ERROR at Row:1:Column:34\nsObject type 'FS_Work_Order__c' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names.","errorCode":"INVALID_TYPE"}]'}虽然在我创建自定义对象时已经写了正确的表名。请帮忙。

0 投票
2 回答
9109 浏览

salesforce - Salesforce SOQL 一键获取案例所有者

使用 Salesforce SOQL,我可以使用以下内容获取所有者 ID:

然后,我可以在此查询中获取拥有该案例的用户的用户详细信息:

但是我不能让它在单个语句中工作,我认为这是因为所有者!=用户,即使在这种情况下所有者实际上是用户。我努力了:

但我收到一个错误,即 Custom_Field__c 不是有效字段。

0 投票
1 回答
1503 浏览

triggers - 删除前批量触发(Soql 语句过多)Salesforce.com

我有一个使用地图的批量触发器,以避免遇到 SOQL 调控器限制。此触发器还使用静态类变量进行递归和限制查询。

我正在做的是在对象上启动诸如插入或更新之类的批量操作时,在这种情况下为联系人对象,然后触发器将在第一个触发器上构建相关帐户的映射,并将这些映射用于其余的触发器触发。

这是一个运行良好的操作示例,但仅适用于更新后和插入后触发器操作:

  1. 检查静态类变量是否不正确。

  2. 如果变量不是真正的构建地图。

  3. 将静态类变量设置为 true。

  4. 执行触发操作。

对于插入/更新触发器,会话状态保持不变,静态类变量直到批量操作结束后才会重置。

但是对于删除前触发器,似乎没有会话状态,并且每次删除记录时都会重置会话。会话被重置,但对于记录的批量删除,管理器限制是累积的。因此,使用删除前触发器,即使使用映射,soql 查询计数也会一直计数到臭名昭著的“太多 Sql 查询”限制,即删除超过 100 条记录。

任何关于如何防止遇到 SOQL 限制的想法将不胜感激。我无法在任何地方找到任何东西。

0 投票
1 回答
829 浏览

salesforce - Salesforce PatronManager 中的关系 SOQL

我正在尝试使用 Salesforce API(使用自定义 PatronManager 对象)构建应用程序,当我运行以下“父对子”查询时,我收到一条错误消息,指出无法理解该关系:

但是,当我反转它并运行“子到父”查询时,它可以完美运行:

谁能解释为什么父母对孩子的查询会给我一条错误消息?

谢谢!

斯科特

附加信息

我将 PHP Toolkit 与 Enterprise WSDL 一起使用,我收到以下错误消息: