从另一个表加入MySql更新

时间:2017-01-09 00:53:10

标签: mysql join field concat

我在WorkSheetTransaction表中添加了一个列,并希望使用从Department表构建的名称填充它。两个表都已填充了连接字段DepartmentId。

以下查询运行正常但没有更新行。为什么不呢?

update WorkSheetTransactions
inner join Departments on WorkSheetTransactions.DepartmentId = Departments.DepartmentId 
set WorkSheetTransactions.DepartmentName = (Departments.GL_Account + '-' + Departments.DepartmentName)

我尝试了很多变化,但我无法看到我出错的地方。顺便说一句,连接字段在两个表中都是整数,所有其他2个字段都是var_chars。

1 个答案:

答案 0 :(得分:0)

在mysql中,你应该使用concat来连接字符串:

UPDATE WorkSheetTransactions
INNER JOIN Departments
ON WorkSheetTransactions.DepartmentId = Departments.DepartmentId 
SET WorkSheetTransactions.DepartmentName = concat(Departments.GL_Account, '-', Departments.DepartmentName)