如何将一个表中一列的主键列表更新为另一个表

时间:2018-03-11 10:16:43

标签: sql-server

我刚刚在[Driver Table]中添加了新数据,之后,我想更新[Driver Dimension]以获取[Driver Table]中插入的每个新数据的值。我使用的是SQL Server 2012。

我的代码:

UPDATE [Driver Dimension] 
SET [DriverID] = [DriverID] 
FROM [Driver Table]

我收到此错误:

  

不明确的列名称' DriverID'。

两个表都有一个列,其中包含各自的主键[DriverID]

编辑:

以下是我要尝试实现的内容:我刚刚将新数据插入ID为11的[Driver Table]

enter image description here

我尝试实现的目标是,无论[Driver Table]中有多少数据,我都会添加数据并更新[Driver Dimension]表:

enter image description here

[Dimension table]应该使用我driverid添加的新firstname(11)和[Driver table]进行更新,而无需单独Insert语句。

2 个答案:

答案 0 :(得分:1)

使用此: 这应该适用于您的表格。

<强>更新

    INSERT INTO [Driver Table] (DriverId , FirstName, MiddleName, LastName)
    OUTPUT inserted.DriverId , inserted.FirstName 
    INTO [Dimension Table]
    VALUES (1 , 'Rhyme' , 'Santillan' , 'Aranas')

答案 1 :(得分:0)

试试这个

Update [Driver Dimension] 
SET [DriverID] = ( SELECT TOP 1 [DriverID] 
                   From   [Driver Table] 
                   WHERE  [Driver Table].[FirstName] =[Driver Dimension].[DriverName] )