我有一个如下所示的表
mysql> desc document;
+-----------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+-------------------+----------------+
| T1 | varchar(50) | YES | | NULL | |
| T2 | varchar(50) | YES | | NULL | |
| T3 | varchar(50) | YES | | NULL | |
| T4 | varchar(50) | YES | | NULL | |
| T5 | varchar(50) | YES | | NULL | |
======================================================
这是文档中的数据
mysql> select * from document ;
+-------------+----------------------+-------------+-------------+------+------+
| T1 | T2 | T3 | T4 | T5 |
+-------------+----------------------+-------------+-------------+------+------+
| Chips And Chocolates | Yummy Chips | NULL | NULL | NULL |
| Chips And Chocolates | Yummy Chips | Lemon Masti | NULL | NULL |
+-------------+----------------------+-------------+-------------+------+------+
A Row可以填充所有T1,T2,T3,T4,T5
或者它可以有NULL值
是否可以将数据组合成逗号分隔,如果它为空
例如
在第一种情况下
Chips And Chocolates,Yummy Chips
在第二种情况下
Chips And Chocolates,Yummy Chips, Lemon Masti
谢谢。
答案 0 :(得分:3)
这应该有效:
SELECT CONCAT_WS(',', T1, T2, T3, T4, T5)
FROM documents
另请参阅CONCAT_WS()
的文档,如果它是null
,它的优势在于它会跳过一个值。