2017-12-08 10 views
0

simple_salesforce python 패키지를 사용하여 SOQL 쿼리를 작성하려고합니다. 내가 성가신 열 이름을 다루는 기존의 SQL 구문을 (나는 또한 [] 브래킷을 시도)를 사용하기 위해 노력하고있어열 이름에 공백이있는 SOQL 쿼리는 어떻게 작성합니까?

sf.query_all("SELECT Id, Name, Email FROM Lead WHERE `Lead Source`=Calculator (Website)") 

하지만 : 나는 열 이름에 공백이 문제가 쿼리 컬럼의 비트를 보내고있어 나는 계속 SalesforceMalformedRequest을 받고있다.

'계산기 (웹 사이트)'의 리드 소스를 가진 리드의 ID, 이름 및 이메일이 포함 된 Python 사전을 가져오고 싶습니다.

필자는 열 이름을 변경할 수있는 권한이 없으므로 쿼리 방법에 대한 도움말이나 다른 방법으로 열 이름에 액세스하는 방법에 많은 도움이됩니다.

+0

[ANSI SQL에서 "quoted identifier"] (https://db.apache.org/derby/docs/10.1/ref/crefsqlj1003454.html). 이것이 특히 MySQL이 \ quoted identifier \'를 사용하기 때문에 이것이 SOQL에 도움이되는지는 알 수 없습니다. – user2864740

+0

아마도 '계산기 (웹 사이트)'에 오류가 있습니까? 그 텍스트/문자 데이터는 아마도 인용되어야한다. MySQL 식별자 -''리드 소스 \'= '계산기 (웹 사이트)' ''또는 ANSI 식별자 -''리드 아이디, 이름, 리드로부터의 이메일 \ "리드 소스 \ "="Calculator (Website) ' "'(따옴표를 이스케이프 처리하면 파이썬 문자열 리터럴에 나타나는 결과물 일 뿐이며 여기서는" "" "" "'형식이 유용합니다.) – user2864740

+0

인용문에 대한 언급이 없습니다 [sparse] [SOQL documentation] (https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm)의 식별자는 fieldExpression : [ "* 지정된 개체의 필드 이름 이름 주위에 작은 따옴표 나 큰 따옴표를 사용하면 오류가 발생합니다. * "] (https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta /soql_sosl/sforce_api_calls_soql_select_fieldexpression.htm). 아마도 열 식별자가 먼저 정규화됩니까? 예. 'Lead__Source'? (그것은 SF가 필드 이름을 mangle하는 것을 좋아하는 것처럼 보인다.) – user2864740

답변

1

위의 설명에서 설명한 @ user2864740과 마찬가지로 Salesforce는 필드 api 이름에 공백을 허용하지 않습니다.

sf.query_all("SELECT Id, Name, Email FROM Lead WHERE LeadSource = 'Calculator (Website)'") 
:이 상황에서,이 API 이름은 쿼리이 원하는 것 LeadSource

enter image description here

당신이 "리드 소스"의 영어 라벨 표준 필드를 조회하려고하는 가정