MySQL:variable = variable + select语句

时间:2015-01-05 03:14:36

标签: mysql concatenation

我在临时表中有几条记录,我想从每条记录中取一个值并将其添加到变量中,例如

color          | caption
--------------------------------
red              stop
blue             state line
yellow           yield
orange           construction

var1 ='红色;蓝色;黄色;橙色'

在MSSQL中,我可以这样做:

-- MSSQL
select var1 = var1 + color
from signShapes

在MySQL中,这不起作用。我得到"橙色。"

-- mySQL
select var1 = concat(var1, color)
from signShapes

不,我知道我可以通过游标或循环完成此操作。我很好奇我是否可以在没有这两者的情况下做到这一点,类似于MSSQL方法。

2 个答案:

答案 0 :(得分:2)

 SELECT var1 = GROUP_CONCAT(color SEPARATOR ';')
 FROM signShapes
 GROUP BY color;

答案 1 :(得分:1)

为什么不这样做?

select var1 = group_concat(color separator ';')
from signShapes;