小编use*_*168的帖子

SQL插入记录如果不存在

我想要做的是将表与另一个临时表进行比较,如果记录尚未存在,请将其插入表中.我的问题是IF NOT EXIST似乎不正确.如果我把代码分开,我遇到的问题是:

返回29结果:

SELECT * 
from NO_STOCK INNER JOIN #no_stock
  ON NO_STOCK.PRODUCT_CODE = #no_stock.PRODUCT_CODE 
WHERE NO_STOCK.PRODUCT_CODE = #no_stock.PRODUCT_CODE.
Run Code Online (Sandbox Code Playgroud)

这没有返回任何结果(我希望这会返回34):

SELECT PRODUCT_CODE
FROM #no_stock
WHERE NOT EXISTS
  (SELECT * from NO_STOCK INNER JOIN #no_stock 
    ON NO_STOCK.PRODUCT_CODE = #no_stock.PRODUCT_CODE 
   WHERE NO_STOCK.PRODUCT_CODE = #no_stock.PRODUCT_CODE)
Run Code Online (Sandbox Code Playgroud)

这返回63:

SELECT PRODUCT_CODE
FROM #no_stock
WHERE EXISTS 
  (SELECT * from NO_STOCK INNER JOIN #no_stock 
     ON NO_STOCK.PRODUCT_CODE = #no_stock.PRODUCT_CODE 
   WHERE NO_STOCK.PRODUCT_CODE = #no_stock.PRODUCT_CODE)
Run Code Online (Sandbox Code Playgroud)

PS.使用SQL Server 2008 R2

sql sql-server-2008-r2 sql-insert

6
推荐指数
1
解决办法
7802
查看次数

标签 统计

sql ×1

sql-insert ×1

sql-server-2008-r2 ×1