我有一个复杂的连接部分,其中包括一个CASE WHEN来构造一个URL。这在部分构造中效果很好,但是当每个CASE包含一个Concat时,我在执行CASE时都会遇到问题。我拥有的几个案例中的任何一个都可以与之合作
CASE wHEN T1.Name='X' THEN Concat('A',T1.Field1)
ELSE ''
END
OR
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行附近使用
答案 0 :(得分:1)
您正在尝试在第一个内部启动另一个CASE
函数。删除第二个CASE
,它应该可以工作:
CASE WHEN T1.Name='X' THEN Concat('A',T1.Field1)
WHEN T1.Name='Y' THEN Concat('A',T1.Field2)
ELSE ''
END