首页 > 解决方案 > 仅当记录不存在时才将值插入表中。SQL Server 2012

问题描述

我有一个与源表格式相同的表,如果记录不存在,我只想插入所有行。

我只想插入#Topturn表中不存在的记录bireports.dbo.topturn

我试过IF NOT EXIST SELECT * FROM #TOPTURN了,但这根本不插入记录。

请参见下面的代码:

INSERT INTO bireports.dbo.TopTurn
(
    ProductionDate,
    Press,
    SKU,
    Shift,
    SpecCureTime,
    CycleTIme,
    TiresProduced,
    MaxTiresPerShift,
    MinutesIntoShift,
    MaxTiresIntoShift,
    OperatorEfficiency,
     TopTurn,
    MolderID,
    Name
)
SELECT tp.productionday,
       tp.press,
       tp.sku,
       tp.shift,
       tp.SpecCureTime,
       tp.CycleTime,
       tp.TiresProduced,
       tp.Maxtirespershift,
       tp.MinutesIntoShift,
       tp.maxTiresIntoShift,
       tp.OperatorEfficiency,
       tp.TopTurn,
       m.MolderID,
       m.Name
   FROM dbo.Molder m
   INNER JOIN #TopTurn tp
   INNER JOIN dbo.Asset a ON tp.press = a.Name
   INNER JOIN dbo.PressLogins pl ON a.ID = pl.AssetID 
                                 AND tp.productionday = pl.ProductionDay
                                 AND tp.shift = pl.Shift
         ON m.MolderID = pl.MolderID
   WHERE tp.productionday = CONVERT(DATE, GETDATE(), 101) 

标签: sqlsql-serversql-server-2012

解决方案


推荐阅读