mysql - 使用串联更新 MySQL 表

标签 mysql csv concatenation

我有一个 MySQL 表(TMP),其中包含许多具有“名称”字段的产品,我想用另一个表(CSV)中的其他一些列(两列的串联)进行更新。

我的 CSV 表计算了产品名称和关联编号,我希望将其连接为 TMP 表中同一产品的新名称。所有产品的 TMP 名称和 CSV 表都相同,最后我希望 TMP 名称是 CSV 名称 + CSV 编号。

我尝试过类似的事情

UPDATE tmp.TMP 
SET name = (SELECT CONCAT(tmp.CSV.nom," ",tmp.CSV.cb) 
            FROM tmp.CSV, tmp.TMP
            where CSV.nom = TMP.name
            and accountId=1297
            )
where accountId = 1297

但显然,它不起作用。

最佳答案

试试这个:

UPDATE tmp.CSV AS c, tmp.TMP AS t
SET t.name = CONCAT(c.nom, " ", c.cb) 
WHERE c.nom = t.name
    AND t.accountId = 1297;

关于mysql - 使用串联更新 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23832473/

相关文章:

mysql - 在读取 sql.Rows.Next() 执行另一个查询时返回错误 : 1046 no database selected

php - 不在单个模型中存储两个日期字段

java - 如何在之前不知道类的情况下使用 CSV HeaderColumnNameTranslateMappingStrategy

matlab - csv 格式 matlab/gephi

mysql - 在左连接上别名列名

mysql - 获取整行每个类别中某列的最大值

c++ - 仅使用 <iostream> c++ 读取 .csv 文件并存储到数组中

linux - 如何更改列的顺序并连接 csv 文件中的某些列?

使用两个连接的列将 MySQL 组连接转换为 Postgres

r - 如何在 R 中组合多个数据框列