2014-12-12 2 views
0
SELECT Country, EmployeeName, Name As [FullName], OutPut1, OutPut2, OutPut3, 
    (OutPut1 + OutPut2 + OutPut3) AS Total, 
    CASE WHEN Name IS NULL THEN '.........' 
     WHEN Name IS NOT NULL THEN '??????' 
     END) 
     AS ParentID 
FROM CTE_Report; 

CASE КОГДА в приведенном выше описании возникают проблемы с приведенной ниже ошибкой. Кто-нибудь знает, что мне не хватает?Использование CASE WHEN в заявлении на выбор T-SQL

Общее табличное выражение определено, но не используется ..

+1

Вы хотите использовать Name IS NULL вместо Name isnull? Также у вас есть дополнительный «)». – gmiley

+0

ОК, я имел в виду IS NULL. И после исправления isnull для IS NULL, теперь я получаю «Обычное табличное выражение, определенное, но не используемое». – StackTrace

+0

Msg 102, Level 15, State 1, Line 5 Неверный синтаксис рядом с ')'. вы забыли '(' перед случаем, когда – Vasily

ответ

0
SELECT Country, EmployeeName, Name As [FullName], OutPut1, OutPut2, OutPut3, 
(OutPut1 + OutPut2 + OutPut3) AS Total, 
CASE WHEN Name IS NULL THEN '.........' 
    WHEN Name IS NOT NULL THEN '??????' 
    END 
    AS ParentID 
FROM CTE_Report; 

Сво проблема скобка.

1

Общее табличное выражение определено, но не используется ..

это означает, что вы создаете КТР, но не использовать его, такая же ошибка, как и в приведенной ниже картинке

enter image description here

0

Попробуйте

SELECT Country, 
     EmployeeName, 
     Name       AS [FullName], 
     OutPut1, 
     OutPut2, 
     OutPut3, 
     (OutPut1 + OutPut2 + OutPut3) AS Total, 
     CASE 
     WHEN Name IS NULL THEN '.........' 
     ELSE '??????' 
     END        AS ParentID 
FROM CTE_Report; 
Смежные вопросы