使用CASE语句的SQL查询错误?
我试图使用Simba的ODBC SFDC驱动程序运行此查询,但日志显示case语句附近有一个错误。我不完全相信CASE语句是错误的,但我不知道我的错误在哪里。有人请帮忙使用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
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的问题在于,它没有告诉你错误的确切位置或原因,只是在一般附近有一个错误。