SQL查询以其他列的组合填充列

Sho*_*eNN 1 mysql sql sql-update

我有这种结构的桌子

ID | Parameter1 | Parameter 2  | Multiplication
1  |     1024   |     100      |
2  |     1200   |     200      |
3  |     1600   |     300      |
4  |     1900   |     400      |
Run Code Online (Sandbox Code Playgroud)

我想用参数1和参数2中的组合字符串填充列乘法

ID | Parameter1 | Parameter 2  | Multiplication
1  |     1024   |     100      |   1024_100
2  |     1200   |     200      |   1200_200
3  |     1600   |     300      |   1600_300
4  |     1900   |     400      |   1900_400
Run Code Online (Sandbox Code Playgroud)

请帮助我创建此SQLQuery

Sco*_*ard 6

使用 SQL 那么下面的查询应该可以工作..

假设 Param 字段是整数,请使用强制转换使它们成为字符串

UPDATE Table1 SET Multiplication = CAST(Parameter1 AS VARCHAR(10)) + '_' + CAST(Parameter2 AS VARCHAR(10))
Run Code Online (Sandbox Code Playgroud)

否则,如果它们已经是字符串(例如,varchar、text)就不要强制转换。IE,

UPDATE Table1 SET Multiplication = Parameter1 + '_' + Parameter2
Run Code Online (Sandbox Code Playgroud)

只需将 Table1 更改为您的表的名称


Stu*_*ler 5

SQL Server的替代方法是添加一列为您处理。如果parameter1或parameter2更改,它将自动更新值:

ALTER TABLE myTable
    ADD myJoinedColumn AS CAST(Parameter1 AS VARCHAR(10)) + '_' + CAST(Parameter2 AS VARCHAR(10))
Run Code Online (Sandbox Code Playgroud)

或正如@Scozzard在他的回答中提到的,如果它们已经是字符串:

ALTER TABLE myTable
    ADD myJoinedColumn AS (Parameter1 + '_' + Parameter2)
Run Code Online (Sandbox Code Playgroud)