【问题标题】:Merge two tables and chain id fields in order合并两个表并按顺序链接id字段
【发布时间】:2021-05-16 17:40:30
【问题描述】:

我正在寻找一种方法来合并两个(或更多)表并修改/排序它们的数字 ID。简单地说,这是我想要做的示意图:

表例一:

Id Field
4 x
1 x
5 x
3 x
2 x

表格示例2:

Id Field
1 x
3 x
5 x
2 x
4 x

预期结果(将表 1 修改为 1-2-3-4-5,将表 2 修改为 6-7-8-9-10 THEN order both id by asc)

Id Field
1 x
2 x
3 x
4 x
5 x
6 x
7 x
8 x
9 x
10 x

我的目标是嵌套在 select row_number() over (order by id) 中的 联合表,但我真的不知道如何将表 2 修改为6-7-8-9-10 之前

【问题讨论】:

  • 如果您对结果表执行union,然后执行row_number,您可能会得到您想要的...

标签: sql merge union row-number


【解决方案1】:

试试这个例子:

SELECT id, Field FROM t1
UNION ALL
SELECT (SELECT MAX(id) FROM t1) + ROW_NUMBER() OVER (ORDER BY id) AS id, Field
FROM t2
ORDER BY id

fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 2019-06-12
    • 2012-10-31
    相关资源
    最近更新 更多