1

我正在尝试将数据从一个表插入到另一个表,但我正在寻找一个查询,该查询可以首先查看源值是否存在于目标中,如果存在则不应加载。

假设我在源代码中有以下内容

ID|EMAIL|COUNTRY|PHONE
1|s@s.com|US|1212

现在检查目标表中是否存在上述电子邮件,如果没有加载它。

等待您的答复。

4

2 回答 2

2

您可以使用MERGE声明

MERGE table2 AS target
USING table1 AS source
    ON (target.email = source.email)  
WHEN NOT MATCHED BY TARGET 
    THEN INSERT (
        email, 
        country, 
        Phone
    ) VALUES (
        source.email, 
        source.country, 
        source.phone
    );
于 2013-03-12T11:23:23.327 回答
1

简单加入也可以完成这项工作

INSERT INTO <TblDestination>
SELECT src.Email
FROM <TblSource> src
    LEFT JOIN <TblDestination> dst ON src.Email = dst.Email
WHERE dst.Email IS NULL
于 2013-03-12T11:27:52.287 回答