0
美好的一天!错误CONCAT MySQL - 没有concat 2或更多值
我试图执行后续脚本:上表
SELECT
concat_ws(", ",if(dep.id_departamento=0,"",ifnull(dep.descripcion,"")),
if(mun.id_municipio=0,"",ifnull(mun.descripcion,"")) ,
if(ifnull(vi.zona ,0)=0,"", cast(vi.zona as char))) as concatAddress
FROM visados vi
left join municipios mun on mun.id_municipio = vi.id_municipio
left join departamentos dep on dep.id_departamento = vi.id_departamento
的信息:
Visados - 六
+-------+--------------------+-----------------+---------+
| id | id_departamento | id_municipio | zona |
+-------+--------------------+-----------------+---------+
| 1 | 1 | 1 | 5 |
+-------+--------------------+-----------------+---------+
Municipios - 门
+------------------+---------------+
| id_municipio | descripcion |
+------------------+---------------+
| 1 | chimaltenango |
+------------------+---------------+
Departamentos - DEP
+---------------------+---------------+
| id_departamento | descripcion |
+---------------------+---------------+
| 1 | chimaltenango |
+---------------------+---------------+
正确的结果应该是:
+------------------------------------+
| concatAddress |
+------------------------------------+
| chimaltenango, chimaltenango, 5 |
+------------------------------------+
但我的结果是唯一的:
+------------------+
| concatAddress |
+------------------+
| chimaltenango |
+------------------+
没有的毗连的其他2个值的字段。
发生了什么事?
LocalServer:MySQL 5.6.25版本
谢谢!
我试过你的查询并得到正确的结果:http://www.sqlfiddle.com/#99/4d0ac3/1 – Barmar
太奇怪了。我在链接中执行相同的信息到我的本地服务器和生产服务器,并且我得到了同样的错误。 –
不应该'mun.id_departmento'为'dep.id_departmento'?您并不需要将别名放在表格图中,而是将表名称放在表格中。 – Barmar