СЛУЧАЙ, КОГДА ИСПОЛЬЗУЮЩИЙ CONCAT () - PullRequest
1 голос
/ 09 апреля 2019

У меня есть сложное объединение, в которое входит СЛУЧАЙ КОГДА для создания URL.Это работало нормально для части конструкции, но я сталкиваюсь с проблемами при выполнении CASE WHEN, когда каждый CASE включает Concat.Любой из нескольких СЛУЧАЙ, которые у меня есть, работает самостоятельно с

CASE wHEN T1.Name='X' THEN Concat('A',T1.Field1)
ELSE ''
END

ИЛИ

CASE WHEN T1.Name='Y' THEN Concat('B',T1.Field2)
ELSE ''
END

Как только я пытаюсь сделать

CASE WHEN T1.Name='X' THEN  Concat('A',T1.Field1)
CASE WHEN T1.Name='X' THEN Concat('A',T1.Field2)
ELSE ''
END

, я получаю ошибку вроде

[Err] 1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который нужно использовать рядом с CASE WHEN T1.Name = 'X' THEN Concat 'в строке 5

1 Ответ

1 голос
/ 09 апреля 2019

Вы пытаетесь запустить другую функцию CASE внутри первой. Удалите вторую CASE и она должна работать:

CASE WHEN T1.Name='X' THEN  Concat('A',T1.Field1)
     WHEN T1.Name='Y' THEN Concat('A',T1.Field2)
ELSE ''
END
...