我正在尝试做一些我认为很简单的事情,但我被困住了。我基本上想从多个地址部分字段创建一个地址字段,使用 IF 语句来使用地址或交叉点。这是我创建该领域的声明:
CONCAT(loc_name,'\n',
IF ( add_number != '' && add_street != '' ) THEN
CONCAT(add_number,' ',add_street,'\n')
ELSEIF ( x_street_1 != '' && x_street_2 != '' ) THEN
CONCAT(x_street_1,' & ',x_street_2,'\n')
END IF
,city,', ',
IF ( state != '') THEN
CONCAT(state,' ',country,'\n')
ELSEIF ( x_street_1 != '' && x_street_2 != '' ) THEN
CONCAT(country,'\n')
END IF
) AS loc_info
但它根本不喜欢我正在做的事情,它会在以下位置引发错误:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') THEN \n\t\t\t\t\t\tadd_number,' ',add_street,'\n'\n\t\t\t\t\tELSEIF ( x_street_1 != '' && x_"
这似乎不喜欢我的空字段('')表示法。但我不知道为什么。我不能像这样在 CONCAT 中使用 IF 语句吗?
感谢您的任何见解。