繁体   English   中英

SQL 服务器中的自动增量列与 select

[英]Auto increment column in SQL server with select

您好,我正在使用来自不同表的数据填充表。 这些都是预先存在的表,其中包含数据。 我的脚本几乎可以工作了。 它从选择表中选择适当的值并将新记录插入到目标表中,但是有问题的是 ID 列值。 我需要 ID 值根据上一行自动递增。 脚本不是根据值为 268564 的前一行自动递增,而是从那里放置一个 1 并自动递增,如 1、2、3 等。我需要新行的 ID 为 268565。请参见下文,谢谢大家。

set identity_insert Table A ON;
INSERT INTO Table A 
(ID, Field2, Field3, Field4, Field5)

SELECT ROW_NUMBER() OVER (ORDER BY Table A.[ID]) AS Number, Field2, Field3, 0, Field4, Field5

FROM Table B
LEFT JOIN Table A
ON Table A.[match] = Table B.[match]
WHERE 
Table B.[match] = 44593
set identity_insert Table A OFF
ID 字段1 字段2 字段3 字段4
268564 表 A 值1 表 A 值2 表 A 值3 表 A 值4
1 表 B 值1 表 B 值2 表 B 值3 表 B 值4

大家好,感谢您的帮助。 我能够弄清楚。 我需要使用

 ROW_NUMBER() OVER (order by (select 1))+ (SELECT COALESCE(MAX(Table A.[ID]),0) FROM Table A)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM