插入值参考其他列
Insert value refer to other column
这里是原文tableA
Currency
DM_LS
ProductID
TimeID
TWD
1
26
559
TWD
1
26
560
TWD
1
27
561
TWD
2
27
562
TWD
2
28
563
TWD
2
28
564
我想从上面的 table A 生成序列号。所以我添加了名为 SerialNum
的新列
现在我不知道如何生成和插入值。值为 Currency + DM_LS + ProductID + TimeID
是否通过 SQL 有效?
想要的结果
Currency
DM_LS
ProductID
TimeID
SerialNum
TWD
1
26
559
TWD126559
TWD
1
26
560
TWD126560
TWD
1
27
561
TWD127561
TWD
2
27
562
TWD227562
TWD
2
28
563
TWD228563
TWD
2
28
564
TWD228564
非常感谢。
它只是一个在列上串联的 UPDATE
语句。
您需要确保每列 CAST
为通用数据类型 - 在本例中为 VARCHAR
- 然后只需使用格式 ``col1 + col2 + ...等```
您可以通过两种方式进行:
- 添加计算列
ALTER TABLE TABLEA ADD SerialNum AS CONCAT(Currency, DM_LS, Productid, TimeID)
- 添加单独的列
ALTER TABLE TABLEA ADD SerialNum VARCHAR(200);
UPDATE TABLEA
SET SerialNum = CONCAT(Currency, DM_LS, Productid, TimeID)
这里是原文tableA
Currency | DM_LS | ProductID | TimeID |
---|---|---|---|
TWD | 1 | 26 | 559 |
TWD | 1 | 26 | 560 |
TWD | 1 | 27 | 561 |
TWD | 2 | 27 | 562 |
TWD | 2 | 28 | 563 |
TWD | 2 | 28 | 564 |
我想从上面的 table A 生成序列号。所以我添加了名为 SerialNum
的新列现在我不知道如何生成和插入值。值为 Currency + DM_LS + ProductID + TimeID
是否通过 SQL 有效?
想要的结果
Currency | DM_LS | ProductID | TimeID | SerialNum |
---|---|---|---|---|
TWD | 1 | 26 | 559 | TWD126559 |
TWD | 1 | 26 | 560 | TWD126560 |
TWD | 1 | 27 | 561 | TWD127561 |
TWD | 2 | 27 | 562 | TWD227562 |
TWD | 2 | 28 | 563 | TWD228563 |
TWD | 2 | 28 | 564 | TWD228564 |
非常感谢。
它只是一个在列上串联的 UPDATE
语句。
您需要确保每列 CAST
为通用数据类型 - 在本例中为 VARCHAR
- 然后只需使用格式 ``col1 + col2 + ...等```
您可以通过两种方式进行:
- 添加计算列
ALTER TABLE TABLEA ADD SerialNum AS CONCAT(Currency, DM_LS, Productid, TimeID)
- 添加单独的列
ALTER TABLE TABLEA ADD SerialNum VARCHAR(200);
UPDATE TABLEA
SET SerialNum = CONCAT(Currency, DM_LS, Productid, TimeID)