2015-01-05 4 views
1

У меня есть несколько записей в таблице temp, и я хотел бы взять значение из каждой записи и добавить ее к переменной, например.MySQL: variable = variable + select statement

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
SELECT var1 = GROUP_CONCAT(color SEPARATOR ';') 
FROM signShapes 
GROUP BY color; 
+0

В надежде на один день преобразовательной RDBMS нашей компании к MySQL, я делаю несколько личных проектов первым, чтобы получить прочную ручку на вещах. Я каждый день изучаю что-то новое. –

1

Почему бы просто не сделать это?

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