SQL Server使用空值将表中的行插入到另一个表中

SQL Server使用空值将表中的行插入到另一个表中,sql,sql-server,insert,rows,nopcommerce,Sql,Sql Server,Insert,Rows,Nopcommerce,好的,我刚刚创建了一个带有一些列的表\u amazonProduct: ID ProductID ProductPrice 现在我有一个产品表,有很多列,超过50列 我要插入的列是Id从product表插入中的ProductID。所有其他值都将设置为null 有些事情我试过了 UPDATE [Azure_Test].[dbo].[_amazonProduct] SET [Azure_Test].[dbo].[_amazonProduct].[ProductID] = [Azure_Test].

好的,我刚刚创建了一个带有一些列的表
\u amazonProduct

ID
ProductID
ProductPrice
现在我有一个产品表,有很多列,超过50列

我要插入的列是
Id
product
表插入
中的
ProductID
。所有其他值都将设置为null

有些事情我试过了

UPDATE [Azure_Test].[dbo].[_amazonProduct]
SET [Azure_Test].[dbo].[_amazonProduct].[ProductID] = [Azure_Test].[dbo].[Product].[Id]
FROM [Azure_Test].[dbo].[_amazonProduct]
JOIN [Azure_Test].[dbo].[Product] ON [Azure_Test].[dbo].[_amazonProduct].[ProductID] = [Azure_Test].[dbo].[Product].[Id]
还尝试:

SELECT [Azure_Test].[dbo].[Product].[Id]
INTO [Azure_Test].[dbo].[_amazonProduct].[ProductID]
FROM [Azure_Test].[dbo].[Product]
UPDATE [Azure_Test].[dbo].[_amazonProduct]
SET [ProductID] = (
    SELECT [Id]
    FROM [Azure_Test].[dbo].[Product]
)
还尝试:

SELECT [Azure_Test].[dbo].[Product].[Id]
INTO [Azure_Test].[dbo].[_amazonProduct].[ProductID]
FROM [Azure_Test].[dbo].[Product]
UPDATE [Azure_Test].[dbo].[_amazonProduct]
SET [ProductID] = (
    SELECT [Id]
    FROM [Azure_Test].[dbo].[Product]
)
任何能帮我的人,都不知道该怎么做

干杯

试试: --复印件:

SELECT *
INTO [Azure_Test].[dbo].[_amazonProduct]
FROM [Azure_Test].[dbo].[Product] WHERE 1=0
GO
sp_rename '_amazonProduct.ID','ProductID','COLUMN'
GO
--在新表中插入:

insert into [Azure_Test].[dbo].[_amazonProduct](ProductID)
 select ID FROM [Azure_Test].[dbo].[Product]

您还可以使用动态脚本。

Perfect第二条语句正是我所需要的,它插入每个ProductID,自动递增ID,并将其他值设置为null。谢谢你的帮助,冠军:)