Я получаю сообщение об ошибке при выполнении этого запроса

Сообщение 102, Уровень 15, Состояние 1, Строка 15 Неверный синтаксис рядом с ')'.

Я не могу найти причину ошибки. Пожалуйста, помогите, что не так в моем запросе

 Select 
        SIHDR.[Posting Date],   
        SIHDR.[Bill-to Contact No_],    
        SIHDR.[Order No_],  
        SILIN.[Bom Item No_],   
        ISNULL(CONVERT(varchar (30),(Select Description from [Item] where No_ = SILIN.[Bom Item No_])),''), 
        SILIN.[No_],    
        SILIN.[Line No_],   
        CONVERT(varchar (30),SILIN.[Description]),  
        CONVERT(varchar (30),SILIN.[Description 2]),    
        CONVERT(varchar (30),SILIN.[Description 3]),    
        SILIN.[Subscription Starting Date], 
        SILIN.[Subscription End Date],   

        SUM(CASE WHEN SIHDR.[Currency Factor]=0 THEN SILIN.[Selling Price] ELSE SILIN.[Selling Price]) as Selling_Price_INR


        FROM  [Sales Shipment Header] as SIHDR  
        INNER JOIN [Sales Shipment Line] as SILIN  on SIHDR.No_ = SILIN.[Document No_]  

        enter code here
0
lovedeep 16 Авг 2019 в 09:11

2 ответа

Лучший ответ

Вашему CASE нужен END

SUM(CASE WHEN SIHDR.[Currency Factor]=0 THEN SILIN.[Selling Price] ELSE SILIN.[Selling Price] END) as Selling_Price_INR
0
peeebeee 16 Авг 2019 в 06:17

Это потому, что end отсутствует в вашем втором case утверждении.

    Select 
    SIHDR.[Posting Date],   
    SIHDR.[Bill-to Contact No_],    
    SIHDR.[Order No_],  
    SILIN.[Bom Item No_],   
    ISNULL(
        CONVERT(varchar (30),
            (Select Description from [Info Edge (India) Ltd$Item] where No_ = SILIN.[Bom Item No_])
            ),''),   
    SILIN.[No_],    
    SILIN.[Line No_],   
    CONVERT(varchar (30),SILIN.[Description]),  
    CONVERT(varchar (30),SILIN.[Description 2]),    
    CONVERT(varchar (30),SILIN.[Description 3]),    
    SILIN.[Subscription Starting Date], 
    SILIN.[Subscription End Date],   

    SUM(
        CASE WHEN SIHDR.[Currency Factor]=0 
        THEN SILIN.[Selling Price] 
        ELSE SILIN.[Selling Price] 
        END      ---- this end is missing in your query.
        ) as Selling_Price_INR


    FROM  [Sales Shipment Header] as SIHDR  
    INNER JOIN [Sales Shipment Line] as SILIN  on SIHDR.No_ = SILIN.[Document No_]  
0
DarkRob 16 Авг 2019 в 06:17