CASE语句的SQL查询错误?

时间:2017-03-10 14:37:38

标签: sql debugging odbc salesforce simba

我尝试使用Simba的ODBC SFDC驱动程序运行此查询,但日志显示case语句附近有错误。我并不完全相信CASE声明中的错误,但我不知道我的错误在哪里。有人请帮忙!!!!

 SELECT
   Account_Group__c,
   Hospital_Sales_Teammate__c,
   Name,
   StageName,
   CloseDate,
   Yr_Credited__c,
   Probability,
   Census__c,
   Credit__c,
   Related_VSA__c,
   AB_Hospital_Relationship_Type__c,

CASE
   WHEN Age_In_Stage__c >0 and Age_In_Stage__c <= 30 THEN '<30'
   WHEN Age_In_Stage__c >30 and Age_In_Stage__c <= 60 THEN '31-60'
   WHEN Age_In_Stage__c >60 and Age_In_Stage__c <= 90 THEN '61-90'
      ELSE '>90' END AS Age_Bucket,

CASE
   WHEN (Type = "Existing Business - Renewal" OR Type = 'Existing Business - Amendment')
      AND (Account_HHV_Segment__c='A' OR Account_HHV_Segment__c='B') 
      AND AB_Hospital_Relationship_Type__c<>'N/A' 
      AND (RecordType='012300000000PWuAAM'
         OR RecordType='01250000000DcJkAAK'
         OR RecordType='01250000000DpV4AAK'
         OR RecordType='01250000000Dxd7AAC'
         OR RecordType='01250000000DoFPAA0'
         OR RecordType='01250000000DuuEAAS') THEN 'Hosp'
   WHEN Name LIKE '%AB Hospital Loss%' THEN 'Hosp'
         ELSE '' END AS Hospital_Eligible,

CASE
   WHEN RecordType='01250000000DpV4AAK'
      AND Type LIKE '%Acquisition%'
   THEN 'Acq'
         ELSE '' END AS Acquisition_Eligible,

CASE
   WHEN RecordType='01250000000Dxd7AAC'
      AND   (Business_Unit__c="Full Conversion" OR Business_Unit__c="Partial Conversion")
   THEN 'BGC'
         ELSE '' END AS Conversion_Eligible,

CASE
   WHEN RecordType='01250000000DuuEAAS'
      AND Type_of_Agreement__c  ="MDA" OR Type_of_Agreement__c  ="Joinder" OR Type_of_Agreement__c  ="JV"
   THEN 'Incr Doc'
         ELSE '' END AS Incr_Doc_Eligible

FROM
Opportunity

WHERE
    Eligible__c<>'No' 
AND NOT Name LIKE '%test%' 
AND NOT Name LIKE '%Test%' 
AND NOT Name LIKE '%TEST%'

ORDER BY 
Account_Group__c ASC

2 个答案:

答案 0 :(得分:1)

Business_Unit__c="Full Conversion"(以及其他地方):您使用的是双引号而不是单引号(正如您在查询的其余部分中所做的那样)。我打赌那是问题......

此外,这是一个案例表达,而不是一个陈述。

答案 1 :(得分:0)

为什么使用双引号?

(Type = "Existing Business - Renewal" OR Type = 'Existing Business - Amendment'

您应该将其更改为

 (Type = 'Existing Business - Renewal' OR Type = 'Existing Business - Amendment')