简体   繁体   English

SQL Server 将一个表中的行插入到另一个具有空值的表中

[英]SQL Server Insert rows from a table into another table with null value

Ok so I have just created a table _amazonProduct with some columns:好的,所以我刚刚创建了一个包含一些列的表_amazonProduct

ID
ProductID
ProductPrice

Now I have a product table with many columns, more than 50.现在我有一个包含很多列的产品表,超过 50。

The column I want to insert is Id from product table into ProductID in _amazonProduct .我要插入的列是product表中的Id_amazonProduct ProductID All other values will be set to null.所有其他值都将设置为空。

Some things I have tried.我尝试过的一些事情。

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]

Also tried:还试过:

SELECT [Azure_Test].[dbo].[Product].[Id]
INTO [Azure_Test].[dbo].[_amazonProduct].[ProductID]
FROM [Azure_Test].[dbo].[Product]

Also tried:还试过:

UPDATE [Azure_Test].[dbo].[_amazonProduct]
SET [ProductID] = (
    SELECT [Id]
    FROM [Azure_Test].[dbo].[Product]
)

Anyone able to help me out, not sure exactly how to go about this.任何能够帮助我的人,不确定如何解决这个问题。

Cheers干杯

try: --Copy strtuct:尝试: --复制结构:

SELECT *
INTO [Azure_Test].[dbo].[_amazonProduct]
FROM [Azure_Test].[dbo].[Product] WHERE 1=0
GO
sp_rename '_amazonProduct.ID','ProductID','COLUMN'
GO

--Insert into new table: --插入新表:

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

Also you ca use dynamic script。你也可以使用动态脚本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM