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)])])])
如果这回答了您的问题,请标记为已回答。
我正在尝试标准 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)])])])
如果这回答了您的问题,请标记为已回答。