如何将两个或多个表合并为一个表,其中包含所有表的所有列名这是表1
这是表2
我可以得到这样的新桌子吗
要以这种方式连接表,您必须有额外的列来连接,其中一种可能性是使用 ROW_NUMBER()
:
select T1.[date] [Table1_date],
T1.[als] [Table1_als],
T1.[zxc] [Table1_zxc],
T2.[date] [Table2_date],
T2.[bls] [Table2_bls],
T2.[zxc] [Table2_zxc]
from (
select row_number() over (order by [date]) [rn],[date],[als],[zxc] from Table1
) [T1] left /*right - depends which table has more rows*/ join (
select row_number() over (order by [date]) [rn],[date],[bls],[zxc] from Table2
) [T2] on T1.[rn] = T2.[rn]
为了联接多个表 (>2(,查询中出现的第一个表应该是记录量最大的表。然后,您可以将一系列left join
与其余表一起使用,连接由 row_number()
生成的列。