SQL Server-在添加新行时删除重复的行

时间:2019-01-30 07:45:05

标签: sql sql-server insert duplicates rows

我一直在研究重复行的问题,但没有发现任何与我的情况相符的问题。此外,我对SQL Server还是很陌生,所以如果我没有太多道理,我深表歉意。

因此,我有一个保存历史信息的现有表(例如TableA)。我有一个查询,该查询在每个星期日运行,并创建一个表,仅使用前一周(星期六至星期五)的输入并将其存储在另一个表(TableB)中。

我每个星期日都用TableB中的数据更新TableA,并且正在使用INSERT INTO,它可以工作。但是有时有时我可能不得不在周中手动运行查询,在这种情况下,我可能会在周日得到重复。

我该如何精确地写入INSERT INTO,这样我就不会得到重复的行并保留最新执行查询中的值?

2 个答案:

答案 0 :(得分:0)

您尚未提供架构的详细信息,但是在插入之前检查重复项的最简单方法是使用NOT EXISTS,例如以下示例查询。

INSERT INTO TARGET_TABLE (Col1, Col2 ...)
SELECT Col1, Col2 .. FROM [SOURCE] S
WHERE NOT EXISTS
(
  SELECT 1 FROM TARGET_TABLE T WHERE T.UniqueIdentifierColumn= S.UniqueIdentifierColumn
)

答案 1 :(得分:0)

尝试这个:

implementation fileTree(include: ['*.jar'], dir: 'path/to/dir')