gpt4 book ai didi

sql将两个不相关的表合并为一个

转载 作者:行者123 更新时间:2023-12-04 00:44:34 25 4
gpt4 key购买 nike

我有 table

表格1

col1    col2    
a b
c d

和表2
mycol1  mycol2
e f
g h
i j
k l

我想将没有公共(public)字段的两个表合并到一个表中,如下所示:

表3
col1    col2    mycol1  mycol2
a b e f
c d g h
null null i j
null null k l

即,这就像将两张 table 并排放置。

我被困住了!请帮忙!

最佳答案

为每个表中的每一行获取一个行号,然后使用这些行号进行完全连接:

WITH CTE1 AS
(
SELECT ROW_NUMBER() OVER(ORDER BY col1) AS ROWNUM, * FROM Table1
),
CTE2 AS
(
SELECT ROW_NUMBER() OVER (ORDER BY mycol1) AS ROWNUM, * FROM Table2
)
SELECT col1, col2, mycol1, mycol2
FROM CTE1 FULL JOIN CTE2 ON CTE1.ROWNUM = CTE2.ROWNUM

这是假设 SQL Server >= 2005。

关于sql将两个不相关的表合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17725891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com