SQL或SSI检查Stg表与历史记录表中的重复项

SQL或SSI检查Stg表与历史记录表中的重复项,sql,tsql,ssis,bids,Sql,Tsql,Ssis,Bids,我从多个不同的来源接收事务信息,这些信息都合并到一个staging表中。包含以下内容的暂存表: TransactionNumber (Not Unique) TransactionAmount TransactionDate TransactionLocation AccountNumber UpdatedDate FileName 我想使用SQL或SSIS检查stg表与历史记录,以查找重复项。问题是我的来源可以多次重新发送事务。我想创建一个包含所有交易的表,因为我的流程在前一天已运行,然后删

我从多个不同的来源接收事务信息,这些信息都合并到一个staging表中。包含以下内容的暂存表:

TransactionNumber (Not Unique)
TransactionAmount
TransactionDate
TransactionLocation
AccountNumber
UpdatedDate
FileName

我想使用SQL或SSIS检查stg表与历史记录,以查找重复项。问题是我的来源可以多次重新发送事务。我想创建一个包含所有交易的表,因为我的流程在前一天已运行,然后删除历史记录中已有的重复交易(相同的金额、日期、位置和账号)。此表将用于每天发送一次。我真的不知道该怎么做。谢谢你的帮助

由于要删除一个表中存在于另一个表中的行,可能需要这样的操作:

delete from
    dbo.Staging
where
    exists (
        select *
        from 
            dbo.History
        where 
            TransactionAmount = dbo.Staging.TransactionAmount and
            UpdatedDate = dbo.Staging.UpdatedDate and
            TransactionLocation = dbo.Staging.TransactionLocation and
            AccountNumber = dbo.Staging.AccountNumber
    )

似乎所有数据都在一个表中,并且您已经知道如何识别重复数据,那么您的问题到底是什么?您是否无法编写SQL查询来删除重复项,或者您有其他问题?我有两个表—暂存表和历史记录表。我想比较两者,并找到不重复的事务。我不确定如何编写查询。这是我的问题。