Иначе, если условие использования mysql CASE не работает?

У меня есть колонка место нахождения но мне нужно вернуть этот столбец на основе значения другого столбца
ниже MYSQL SELECT QUERY:

if(block.block_id IS NOT NULL)
{
location.location = 'BLOCKED'
}elseif(nvocc.nvocc_id is not null AND nvocc.nvocc_status = 'IN') {
location.location = 'NVOCC'
}else {
location.location = location.location
}

я рассматриваю состояние дела, но оно показывает ошибку

CASE
WHEN block.block_id IS NOT NULL THEN "BLOCKED"WHEN ((nvocc.nvocc_id IS NOT NULL) AND (nvocc.nvocc_status='IN')) THEN "NVOCC"ELSE location.location
END as location

вышеуказанный запрос ничего не возвращает и не работает
Пожалуйста, кто-нибудь, помогите мне решить эту проблему.

-3

Решение

Попробуйте использовать скобки, чтобы четко отделить ваш блок условий от блока потока управления:

CASE
WHEN block.block_id IS NOT NULL THEN "BLOCKED"WHEN ((nvocc.nvocc_id IS NOT NULL) AND (nvocc.nvocc_status='IN')) THEN "NVOCC"ELSE location.location
END

Попробуйте упростить ваш запрос, пока он не заработает, а затем постепенно добавляйте условия.

И, пожалуйста, предоставьте свою ошибку, это действительно трудно догадаться.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]