Salesforce SOQL中where查询中的别名

Salesforce SOQL中where查询中的别名,salesforce,soql,salesforce-lightning,salesforce-service-cloud,salesforce-communities,Salesforce,Soql,Salesforce Lightning,Salesforce Service Cloud,Salesforce Communities,我试图使用SOQL从对象Lead中获取计数。 当我点击下面提到的查询时,我得到的是结果 select 'Lead' as source_table,count(*) as source_count from Lead 但是当我试图用这个查询给出where条件时,它就抛出了错误 选择“Lead”作为源\表,count()作为源\从Lead开始的计数,其中 CreatedDate>2020-02-24T09:43:51Z 您的查询不是有效的SOQL,您具体在哪里执行?例如,在RealSalesfo

我试图使用SOQL从对象Lead中获取计数。 当我点击下面提到的查询时,我得到的是结果

select 'Lead' as source_table,count(*) as source_count from Lead
但是当我试图用这个查询给出
where
条件时,它就抛出了错误

选择“Lead”作为源\表,count()作为源\从Lead开始的计数,其中 CreatedDate>2020-02-24T09:43:51Z


您的查询不是有效的SOQL,您具体在哪里执行?例如,在RealSalesforce(Apex、开发者控制台、SalesforceAPI)中,还是在处理导入MSSQL的数据副本

即使您的基本表单(
选择'Lead'作为源\ u表,count(*)作为源\ u count from Lead
)也不会在SOQL中解析OK。没有
AS
关键字,也没有伪列

最接近的是

SELECT COUNT(Id) source_count
FROM Lead
WHERE CreatedDate > 2020-02-24T09:43:51Z
将不会有“铅”在它的人造列。如果您需要跨多个数据库表处理一些键值,那么您必须在Apex中处理结果,也许可以创建一个帮助器类来存储结果,也许一个
Map
就足够了。但如果您是以API访问的方式进行的,那么更好的办法是访问专用的API

  • -有“更新”和“删除”版本,如果你真的需要“创建”它不是那么好,除非你以后以某种方式过滤掉它们
  • -但它实际上是表中的计数,类似于设置->存储使用。无法通过WHERE子句
  • 请您的SF管理员生成一份满足您需要的报告(您不需要详细信息,只需要计数,对吗?),然后使用Analytics API访问结果。甚至可以动态生成报告:

My this query“select'Lead'as source_table,count(*)as source_count from Lead”运行正常,我得到了两列,一列是source_table,另一列是sink_table,在这两列上,我得到了source table列中的Lead,并在sink_table列中计数,但当我使用where条件时,它就不起作用了。我正在通过Azure数据工厂进行此查询,并希望将其加载到该表中的SQL表中。我将有两列Source\u table和Source\u count。“Source\u table”、“sink\u table”?你在做一些整合吗?Mulesoft、Informatica、Azure数据工厂之类的东西?看起来你的问题不是关于Salesforce,而是关于MSSQL或Oracle SQL或任何其他非SF数据库系统。您的语法在SF中无效。如果你有内部数据库,你必须使用它可以理解的SQL风格。我正在使用azure data factory从salesforce获取数据,并使用data factory查询salesforce云对象。你发布的查询似乎是针对恰好有Lead表的SQL Server数据库运行的,数据是从SF获取的。然后,您需要SQL Server语法,而不是SOQL(除非您只想从SF检索特定日期后创建的Lead)。重新回答这个问题,希望一些SQL server专家能帮助您?