首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成序列号

生成序列号
EN

Stack Overflow用户
提问于 2019-12-07 04:00:53
回答 1查看 28关注 0票数 0

我有A桌

代码语言:javascript
复制
ID
---
None
1
3
4
8

我有B桌

代码语言:javascript
复制
ID      number
---------------
None    None
 1      300
 3      301
 4      302
 8      303

如何通过保持表B静态(即保持表B中的旧值不变)来获取B.number列中的值'304','305'....n (如果表A中有任何新值)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-07 04:47:45

这应该是可行的,因为您已经提出了这个问题。但这是一件需要做的奇怪的事情,所以提供关于需求的抽象细节可能会更好。

代码语言:javascript
复制
INSERT INTO table_b
    SELECT a.id,
           ( SELECT MAX(number)
               FROM table_b
           ) + ROW_NUMBER() OVER ( PARTITION BY 1 ORDER BY a.id) number
      FROM table_a a
     WHERE NOT EXISTS
             ( SELECT 1
                 FROM table_b b
                WHERE a.id = b.id
             );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59219596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档