我有A桌
ID
---
None
1
3
4
8我有B桌
ID number
---------------
None None
1 300
3 301
4 302
8 303如何通过保持表B静态(即保持表B中的旧值不变)来获取B.number列中的值'304','305'....n (如果表A中有任何新值)
发布于 2019-12-07 04:47:45
这应该是可行的,因为您已经提出了这个问题。但这是一件需要做的奇怪的事情,所以提供关于需求的抽象细节可能会更好。
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
);https://stackoverflow.com/questions/59219596
复制相似问题