使用CASE语句的SQL查询错误?

使用CASE语句的SQL查询错误?,sql,debugging,odbc,salesforce,simba,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, Re

我试图使用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
Business_Unit_uc=完全转换和其他位置:您使用双引号而不是单引号,就像您在查询的其余部分中所做的那样。我打赌这就是问题所在


此外,这是一个大小写表达式,而不是一个语句。

为什么要使用双引号

类型=现有业务-更新或类型='现有业务-修订'

你应该把它改成

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

错误是什么?很好。我已经删除了双引号,它仍然将错误放在第一个case表达式中。Simba的问题在于,它没有告诉你错误的确切位置或原因,只是在一般附近有一个错误。思想?除非阶段c中的年龄不是整数,我现在看不到任何其他错误。我建议删除大小写表达式,直到不再有错误为止。然后你会知道错误在哪里,也许你会发现错误是什么,我已经删除了双引号,它仍然把错误放在第一个case表达式中。Simba的问题在于,它没有告诉你错误的确切位置或原因,只是在一般附近有一个错误。