2013-11-28 7 views
0

я получаю «ошибка синтаксиса в из пункта» об ошибке при попытке запустить мой случай, когда:случай, когда SQL дает ошибку

select ewc_code, shortclass as EWCDesc, tonnage as tonnes, 
     waste_fate as fate, 'deposit wpa' as destination 
from hwi 
CASE waste_fate 
    WHEN 'Transfer (r)' THEN 'Transfer' 
    When 'Transfer (d)' then 'transfer' 
else waste_fate 
+3

Что вы пытаетесь сделать? –

ответ

0

Вы недоставало в END:

CASE WHEN waste_fate = 'Transfer (r)' THEN 'Transfer' 
     WHEN waste_fate = 'Transfer (d)' THEN 'transfer' 
     ELSE waste_fate END 

И это возвращает скаляр, который вам нужно подумать, с чем вы хотите сделать. Большинство шансов состоит в том, что вы хотели бы добавить его в свой пункт SELECT, а не в ваш пункт FROM.

+0

Почему downvote? –

+0

@MostyMostacho - в любом случае я добавил отсутствующий 'END' .. –

+1

+1 для правильного внимания;) –

1

Во-первых, CASE должен быть внутри вашего запроса, скорее всего, в предложении SELECT.

Во-вторых, вам не хватает END в вашем CASE заявлении:

SELECT ewc_code, shortclass as EWCDesc, tonnage as tonnes, waste_fate as fate, 
    'deposit wpa' as destination, 
    CASE waste_fate 
    WHEN 'Transfer (r)' THEN 'Transfer' 
    WHEN 'Transfer (d)' THEN 'transfer' 
    ELSE waste_fate 
    END 
FROM hwi 
+0

Почему downvote? –

+0

+1 Хороший вопрос ... –

Смежные вопросы