繁体   English   中英

从一张表插入数据到另一张表

[英]Insert data from one table to another table

我想将数据从一个表插入到另一个表但我的问题是如果我第二次运行 SP 它不应该插入哪些数据已经存在 KEY 是 Productcode

我应该使用连接(没有 syubquery)

INSERT INTO ProductCategoryMapping2
                    ( [ProductCode]
                    , [ProductName]
                    , [Category]
                    , [IsActive]
                    , [Division]
                    , [SubCategory])
        SELECT  TRIM(STR(MATCODE, 25, 0)) AS MATCODE
                    , MATNAME
                    , [OPERATIONS_PROD_CATEGORY_NAME]
                    ,IIF([MAT_BRAND_STATUS_NAME] = 'Active',1,0) as [IsActive]
                    ,[OPERATIONS_PROD_DIVISION_NAME]
                    , [OPERATIONS_PROD_SUBCATEGORY_NAME]
                    FROM [dbo].[Sheet1$] s

此代码每次都将所有数据插入目标表

由于您只需要查找目标表中不存在的新数据,因此您必须添加与目标表的左连接并按 key=NULL 过滤

这不是一个工作示例,但可以指导您编写实际查询:

LEFT JOIN ProductCategoryMapping2 destination ON s.key = destination.key
WHERE destination.key IS NULL

我们的目标是这张图片中第二个左边的连接。

在此处输入图像描述

暂无
暂无

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

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