Tsql “查找重复行”;详情;在桌子上

Tsql “查找重复行”;详情;在桌子上,tsql,sql-server-2008,count,duplicate-removal,Tsql,Sql Server 2008,Count,Duplicate Removal,我在上面这样的表格中有重复项。我试图得到一份报告,报告哪些订单是重复的,它们是重复的顺序,这样我就可以知道它们是如何进入数据库的 因此,理想情况下,我希望得到如下输出: OrderId OrderCode Description ------------------------------- 1 Z123 Stuff 2 ABC999 Things 3 Z123 Stuff 我不知道如何在SQL中编写此代码。您可以在

我在上面这样的表格中有重复项。我试图得到一份报告,报告哪些订单是重复的,它们是重复的顺序,这样我就可以知道它们是如何进入数据库的

因此,理想情况下,我希望得到如下输出:

OrderId  OrderCode  Description
-------------------------------
1        Z123       Stuff
2        ABC999     Things
3        Z123       Stuff

我不知道如何在SQL中编写此代码。

您可以在一个查询中使用同一个表两次,并在需要检查的字段上进行联接
T1.OrderID T2.OrderID
不需要为同一行找到重复项

OrderId    IsDuplicatedBy
-------------------------
1          3
3          1

谢谢,这很简单,当我这么看的时候,我想的都是错的。
declare @T table (OrderID int, OrderCode varchar(10), Description varchar(50))
insert into @T values
(1, 'Z123', 'Stuff'),
(2, 'ABC999', 'Things'),
(3, 'Z123', 'Stuff')

select
  T1.OrderID,
  T2.OrderID as IsDuplicatedBy
from @T as T1
  inner join @T as T2
    on T1.OrderCode = T2.OrderCode and
       T1.Description = T2.Description and
       T1.OrderID <> T2.OrderID
OrderID IsDuplicatedBy
1   3
3   1