【问题标题】:Insert value refer to other column插入值参考其他列
【发布时间】:2021-05-21 03:02:22
【问题描述】:

这是原始表A

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

我想从上面的表 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

非常感谢。

【问题讨论】:

  • 尝试谷歌sql server concat。你会发现很多例子。

标签: sql sql-server tsql sql-update sql-insert


【解决方案1】:

你可以通过两种方式做到这一点:

  1. 添加计算列
ALTER TABLE TABLEA ADD SerialNum AS CONCAT(Currency, DM_LS, Productid, TimeID)
  1. 添加单独的列
ALTER TABLE TABLEA ADD SerialNum VARCHAR(200);

UPDATE TABLEA
SET SerialNum = CONCAT(Currency, DM_LS, Productid, TimeID)

【讨论】:

  • 或者 OP 只是想要一个 SELECT 查询,有点不清楚
  • 知道了!非常感谢。
  • @varen,如果它回答了你的问题,请将其标记为答案,以便将来对其他人有所帮助
【解决方案2】:

这只是一个UPDATE 语句,在列上进行了连接。

您需要确保每一列都是 CAST 到一个通用数据类型 - 在这种情况下为 VARCHAR - 然后只需使用格式 ``col1 + col2 + ...etc```

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 2018-12-19
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多