MySQL:变量=变量+select语句

MySQL: variable = variable + select statement

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

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

var1 = 'red;blue;yellow;orange'

在 MSSQL 中,我可以这样做:

-- MSSQL
select var1 = var1 + color
from signShapes

在 MySQL 中,这是行不通的。我会得到 "orange."

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

不,我知道我可以使用游标或循环来完成此操作。我很好奇我是否可以在没有任何一个的情况下执行此操作,类似于 MSSQL 方法。

为什么不这样做呢?

select var1 = group_concat(color separator ';')
from signShapes;
 SELECT var1 = GROUP_CONCAT(color SEPARATOR ';')
 FROM signShapes
 GROUP BY color;