如果字段为null,则Group_concat distinct使我的查询失败

时间:2015-07-23 15:44:45

标签: mysql null distinct group-concat

SELECT REPLACE(GROUP_CONCAT(DISTINCT(myValue)),',','|') FROM myTable WHERE myconditions

我在联盟中多次使用此查询。当myValue与NULL不同时,它可以工作。但是当它没有值时,查询失败(它表示查询无法执行)。我试图做IF(myValue IS NULL,'000',myValue),它不起作用(对于IFNULL来说相同)。我认为不同之处在于这里不起作用,因为这个查询:

SELECT DISTINCT('000') FROM myTable WHERE myconditions

也不起作用。

如何使用GROUP_CONCAT(DISTINCT())管理myValue为空时的错误?

谢谢

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT REPLACE(GROUP_CONCAT(DISTINCT(coalesce(myValue,'000'))),',','|') 
FROM myTable WHERE myconditions