Sql 如何在SSMS中合并列数和顺序不同的两个表?

Sql 如何在SSMS中合并列数和顺序不同的两个表?,sql,tsql,ssms,Sql,Tsql,Ssms,我有一个大表,其中包含约10000行数据和100列,我希望不断更新。问题是,我将用于更新(.csv)的文件通常顺序不同,或者包含额外/缺少的列。如果更新中有额外的列,我可以放弃它们,但是我希望剩余的列能够完全匹配,即使有些列丢失或不符合顺序 我知道创建select并简单列出所有列是一种解决方案,但我正在寻找更优雅/简单的方法。我所看到的许多示例在使用MERGE、UNION或JOIN时都能很好地工作,但我无法让它们在这个更大的数据集上工作,这就是为什么它给我带来这么多麻烦的原因。我对SQL不是很有

我有一个大表,其中包含约10000行数据和100列,我希望不断更新。问题是,我将用于更新(.csv)的文件通常顺序不同,或者包含额外/缺少的列。如果更新中有额外的列,我可以放弃它们,但是我希望剩余的列能够完全匹配,即使有些列丢失或不符合顺序

我知道创建select并简单列出所有列是一种解决方案,但我正在寻找更优雅/简单的方法。我所看到的许多示例在使用MERGE、UNION或JOIN时都能很好地工作,但我无法让它们在这个更大的数据集上工作,这就是为什么它给我带来这么多麻烦的原因。我对SQL不是很有经验,因此我希望在解释中添加一些额外的内容

其中ABCD是列,1是数据:这是主表

a b c d
1 1 1 1
以下是更新表:

b c d e
1 _ 1 1
只需想象一下,有100列和100行要附加到存储的10000行中

期望的:

a b c d e
1 1 1 1 
_ 1 _ 1 1
甚至

a b c d 
1 1 1 1
_ 1 _ 1
e: 这个答案正是我想要的,但在TSQL中似乎不可能

所有人都要联合吗

select a,b,c,d,0 from table
union all
  select    0,b,c,d,e from table
大家都团结起来吗

select a,b,c,d,0 from table
union all
  select    0,b,c,d,e from table

是的,但我要寻找的是一种不必列出列的方法,因为它经常会改变,并且改变顺序以匹配100列的源和目标是不太可行的。因此,设计0,b,c,d,0是有意义的,但做0,b,c,d,0,e,f,g,0,0,0,q,w,e,0,v,0c,0,q0,w0d,0q。。。是的,但我要寻找的是一种不必列出列的方法,因为它经常会改变,并且改变顺序以匹配100列的源和目标不是很可行。因此,设计0,b,c,d,0是有意义的,但做0,b,c,d,0,e,f,g,0,0,0,q,w,e,0,v,0c,0,q0,w0d,0q。。。这就是我想要避免的。