Ошибка SQL-запроса с оператором CASE?

Я пытаюсь выполнить этот запрос с помощью драйвера 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

person sqlbg    schedule 10.03.2017    source источник
comment
В чем ошибка?   -  person Sami Kuhmonen    schedule 10.03.2017


Ответы (2)


Business_Unit__c="Full Conversion" (а также в других местах): вы используете двойные кавычки вместо одинарных (как и в остальной части запроса). Держу пари, проблема в этом...

Кроме того, это выражение case, а не оператор.

person HoneyBadger    schedule 10.03.2017
comment
Хорошая точка зрения. Я удалил двойные кавычки и по-прежнему помещал ошибку в первое выражение case. Проблема с Simba заключается в том, что он не говорит вам ТОЧНО, где и в чем ошибка, а только то, что ошибка находится где-то поблизости. Мысли? - person sqlbg; 10.03.2017
comment
Если только Age_In_Stage__c не является integer, сейчас я не вижу никакой другой ошибки. Я бы предложил удалить выражения case, пока у вас больше не будет ошибки. Тогда вы узнаете, где ошибка, может быть, тогда вы сможете найти, что ошибка. - person HoneyBadger; 10.03.2017

Почему вы используете двойные кавычки?

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

Вы должны изменить его на

 (Type = 'Existing Business - Renewal' OR Type = 'Existing Business - Amendment')
person Cookie Monster    schedule 10.03.2017
comment
Я удалил двойные кавычки и по-прежнему помещал ошибку в первое выражение case. Проблема с Simba заключается в том, что он не говорит вам ТОЧНО, где и в чем ошибка, а только то, что ошибка находится где-то поблизости. - person sqlbg; 10.03.2017