2

创建一个 INSERT 查询以将数据从另一个表 (YPTImport) 插入现有表 (YPImport),问题是 YPTImport 中的一些数据已经存储在 YPImport 表中,因此如果我执行标准导入,我将在 YPImport 中创建重复项桌子。

我可以使用 3 个字段来比较数据以确保没有重复,CNumber、位置和日期。因此,如果 CNumber、位置和日期匹配,那么我不想插入该行。

我尝试使用 WHERE NOT EXISTS 并在 YPImport 表上使用 INNER JOIN 进行选择以仅选择重复项,但使用 WHERE NOT EXISTS 它返回 0 行。

SELECT item,
       CNumber,
       Location,
       Date,
FROM   YPTImport
WHERE  NOT EXISTS (SELECT a.item,
                          a.CNumber,
                          a.Location,
                          a.Date,
                   FROM   YPTImport a
                          INNER JOIN YPImport b
                            ON a.CNumber = b.CNumber
                               AND a.Location = b.Location
                               AND a.Date = b.Date) 

有什么建议么?

4

1 回答 1

2

使用此查询:

SELECT
a.item,
a.CNumber,
a.Location,
a.Date
FROM YPTImport a
WHERE NOT EXISTS
(SELECT *
FROM YPImport b 
WHERE a.CNumber = b.CNumber AND a.Location = b.Location AND a.Date= b.Date)
于 2013-07-01T11:51:59.503 回答