0

我需要在另一个表的同一记录中返回一个副本及其对应的值。当 ID 或任何不同的值不同时,Group by 子句和 having 子句不起作用。我有 2 个表,表 DataTemp 和表数据。

我必须检查 Table DataTemp 是否在同一个表中包含重复项,并在同一个选择中返回其相应文档的文档编号,以便我可以将其插入另一个表中。

有一个内部连接来查找它的上传日期。

当我删除 ID 列并执行此操作时,它会找到重复项,但是当我添加 ID 列时,即使 Check_1 列重复,它也不会返回任何重复项。

我从这个查找重复的查询开始

SELECT
TD.Check_1,
COUNT(TD.ID)
FROM
TblDataTemp TD
GROUP BY TD.Check_1
HAVING COUNT(TD.ID) > 1;
GO

它正在返回重复项,只有当我输入获取 ID 时,它才会返回任何结果。

Check_1                         (No column name)
05/08/2019 00:00:00123120.12         2

这是完成这项工作所需的代码。


INSERT INTO TblDuplicatesWorkflow (ID,PostingDate,DocumentDate,Account,Reference,CompanyCode,TaxCode,PaymentCode,Amount,DocumentCurrency,                               DocumentNumber,BarCode,BankType,CorrespondingDocumentNumber, DateUploaded)

SELECT 
        dt.ID,dt.PostingDate,dt.DocumentDate,DT.Account,DT.Reference,dt.CompanyCode,dt.TaxCode,
        dt.PaymentCode,dt.Amount,dt.DocumentCurrency,dt.DocumentNumber,dt.BarCode,dt.BankType,'**Corresponding Duplicate**',td.DateUploaded
FROM
TblDataTemp dt
INNER JOIN TblData td
ON dt.ID = td.ID
GROUP BY dt.ID,dt.PostingDate,dt.DocumentDate,DT.Account,DT.Reference,dt.CompanyCode,dt.TaxCode,
        dt.PaymentCode,dt.Amount,dt.DocumentCurrency,dt.DocumentNumber,dt.BarCode,dt.BankType,td.DateUploaded
HAVING (COUNT(dt.Check_1) > 1);
go

到目前为止,选择没有返回任何结果。

数据温度如下:

数据临时表

4

0 回答 0