您的查询不是有效的 SOQL,您到底是在哪里做的?在真实的 Salesforce(Apex、开发者控制台、Salesforce API)中,或者您是否处理一些导入到 MSSQL 的数据副本?
即使您的基本形式 ( select 'Lead' as source_table,count(*) as source_count from Lead
) 在 SOQL 中也无法解析。没有AS
关键字,也没有虚拟列。
最接近的是
SELECT COUNT(Id) source_count
FROM Lead
WHERE CreatedDate > 2020-02-24T09:43:51Z
不会有人工列,里面有“Lead”。如果您需要跨多个数据库表的一些键值操作,则必须在 Apex 中处理结果,也许创建一个辅助类来存储结果,也许一个Map<String, Integer>
就足够了。但是,如果您将其作为 API 访问,那么更好的主意是访问专用 API
- getUpdated REST API - 具有“更新”和“删除”版本,如果您真的需要“创建”,除非您稍后以某种方式将它们过滤掉,否则它并不是那么好
- 跨多个对象的记录计数 - 但它实际上是在表中计数,类似于设置 -> 存储使用情况。无法通过 WHERE 子句
- 让您的 SF 管理员构建一个满足您需要的报告(您不需要详细信息,只需计数,对吗?),然后使用 Analytics API 访问结果。甚至可以即时生成报告:示例