0

我在同一个 SQL Server 数据库中有 2 个表,它们共享一个相似的键字段。

我需要创建一个新的永久表,将这两个表合并在一起。

最好的方法是什么?

谢谢你的帮助。

编辑

我有 1 个包含 200 多列的表,并且有一个名为 Meter_Number 的字段。

然后我有另一个表,它有大约 100 列,还有一个名为 Meter_Number 的字段。

我想创建一个基于此 Meter_Number 组合这两个表的新表。

但并非每条记录都有 Meter_Number 值,但我仍然需要这些在表中。

但是确实有 Meter_Number 字段的那些需要匹配。

这是所有客户信息。

4

1 回答 1

2
Declare @Sql1 varchar(MAX) -- if you are using SQL server 2000 then @Sql1 varchar(8000)
Declare @Sql2 varchar(MAX) -- if you are using SQL server 2000 then @Sql2 varchar(8000)

Set @Sql1 = ''

SELECT @Sql1 = @Sql1 + 'OLDTABLE1.' + c.name + ','
FROM sys.columns c
    JOIN sys.tables t ON c.object_id = t.object_id
WHERE t.name = 'OLDTABLE1'

SELECT @Sql1 = @Sql1 + 'OLDTABLE2.' + c.name + ','
FROM sys.columns c
    JOIN sys.tables t ON c.object_id = t.object_id
WHERE t.name = 'OLDTABLE2'
and c.name <> 'Meter_Number'

Set @Sql1 = LEFT(@Sql1, (Len(@Sql1) - 1))

Set @Sql2 = 'Insert into NEWTABLE( ' + @Sql1 + ')'
Set @Sql2 = @Sql2 + ' Select ' + @Sql1 + ' from OLDTABLE1 , OLDTABLE2 where OLDTABLE1.Meter_Number = OLDTABLE2.Meter_Number'

Print @Sql2
于 2013-08-12T13:26:51.700 回答