mySQL更新列与另一个表的concat

时间:2015-11-17 21:20:47

标签: mysql concat

经验>新手,68 / m

的MySQL> 5.5.46-0 + deb7u1

数据库与GT;服饰

有两个表> femme PRIMARY = id,颜色PRIMARY = c_id

我需要修改(或更新...)

以下表格id Name Fav_Colors City 1 Joe red Athens 1 Rea grey Rome
colors

c_id Name Pref_Color City City_color 1 Joe yellow Athens blue 2 Rea green Rome black 必须通过替换上面的颜色(用某些标签调整)将其数据提供给表femme:

femme

femme在开始时为TRUNCATE(d)时,一切正常,导致修改后的TRUNCATE TABLE `femme`; REPLACE INTO `femme`(`id`, `name`, `Fav_Colors`, `City`) SELECT CONCAT (' c_id, Name, <div>', colors.Pref_Color, ' - ', colors.City_color,'"</div>', City ') from colors; id Name Fav_Colors City 1 Joe <div>yellow - blue</div> Athens 1 Rea <div>green - black</div> Rome 表格如下:

Fav_Colors

我只需要替换REPLACE INTO `femme`(`Fav_Colors`) SELECT CONCAT (' <div>', colors.Pref_Color, ' - ', colors.City_color,'"</div>' ') from colors; 列,但以下内容无效:

id

请您协助找到解决此问题的方法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

看起来你需要一个简单的UPDATEfemme.id是否始终与colors.c_id对应?如果是这样,你可以这样做:

UPDATE femme
JOIN colors ON femme.id = colors.c_id
SET femme.Fav_Colors =
CONCAT('<div>', colors.Pref_Color, ' - ', colors.City_color,'</div>')