我正在連接存儲郵政地址的表的多行和多列,使用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 關注
- 140 瀏覽
添加回答
舉報
0/150
提交
取消