Python 简单 Salesforce Select AS 不工作

Python Simple Salesforce Select AS Not Working

我正在尝试标准 SELECT ... AS 调用以使用 Python Salesforce API 重命名查询输出中的列,它抛出以下错误:

 ... unexpected token: 'AS'", 'errorCode': 'MALFORMED_QUERY'}

到目前为止,来自 SOQL 的大多数本地语言调用都在 API 中工作,而且从 here 看来,SELECT ... AS 是有效的 SOQL。

查询大纲:

from simple_salesforce import Salesforce
sf = Salesforce(username=myusername, password=mypassword, security_token=mytoken)
query = "select closedate as Date from opportunity"
query_list = sf.query_all(query)['records']

编辑 即使按照上面 link:

的建议将新列名放在引号内,错误仍然存​​在
query = "select closedate as \"Date\" from Opportunity"

谢谢

语法似乎不正确。

根据此处记录的别名表示法尝试 query = "select closedate <insert alias> from Opportunity"https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_alias.htm

正如 Terminus 提到的,SOQL 字段别名在大多数情况下(包括您的情况)在 SOQL 中是不可能的。我看到别名在 SOQL 中起作用的唯一情况是聚合查询。例如,在顶点你可以写:

AggregateResult myResult = [SELECT count(Id) SpecialName FROM Contact];
system.debug(myResult);

并接收结果:

DEBUG|AggregateResult:{SpecialName=1630}

在 python 中通过 simple-salesforce 看起来像这样:

sf.query_all('SELECT count(Id) SpecialName FROM Contact')

结果:

   OrderedDict([('totalSize', 1),
             ('done', True),
             ('records',
              [OrderedDict([('attributes',
                             OrderedDict([('type', 'AggregateResult')])),
                            ('SpecialName', 6587)])])])

如果这回答了您的问题,请标记为已回答。