【问题标题】:SQL Server Insert rows from a table into another table with null valueSQL Server 将表中的行插入到另一个具有空值的表中
【发布时间】:2018-04-12 02:05:11
【问题描述】:

好的,我刚刚创建了一个包含一些列的表_amazonProduct

ID
ProductID
ProductPrice

现在我有一个包含许多列的产品表,超过 50 个。

我要插入的列是Idproduct 表到_amazonProduct 中的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]
)

任何人都可以帮助我,不知道该怎么做。

干杯

【问题讨论】:

    标签: sql sql-server insert rows nopcommerce


    【解决方案1】:

    试试: --复制结构:

    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]
    

    你也可以使用动态脚本。

    【讨论】:

    • 完美的第二条语句正是我所需要的,它插入了每个 ProductID,自动增加 ID 并将其他值设置为 null。感谢冠军的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多