我正在连接存储邮政地址的表的多行和多列,使用GROUP_CONCAT.我的表看起来像这样(简化):id | street | hNumber-----------------------1 | streetA | 1 -----------------------2 | streetB | 2 -----------------------3 | streetC | NULL -----------------------在某些情况下,我需要连接我正在做的地址:GROUP_CONCAT(DISTINCT table.street, ' ', table.hNumber SEPARATOR ', ') as street例如,这会给我StreetA 1,StreetB 2作为结果,这正是我想要的。遗憾的是,此方法不适用于例如为hNumber空的情况,在这些情况下它仅返回street为NULL. 对于hNumber表格单元格为空的行,我希望看到它只是跳过空字段并返回street为StreetA 1, StreetC。我希望有人能指出我以正确的方式解决这个问题的方向。
1 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
MySQL 会跳过任何包含 NULL 值的行。简短的回答是预测列可能的 NULL 值并为此做好准备。例如:
SELECT GROUP_CONCAT(DISTINCT `street`, ' ' , IFNULL(`hNumber`,"") SEPARATOR ', ')
(创建空字符串,如果 hNumber 为 NULL)
- 1 回答
- 0 关注
- 118 浏览
添加回答
举报
0/150
提交
取消