使用2008 R2。如何在TSQL中查找未配對的行?
我的表應該包含一些配對的行 - 一個取消事務和一個添加事務,但是我們有一些不好的數據,只有一個取消。
我試圖識別這些並消除它們。我嘗試了下面的代碼,但是SQL返回了錯誤「使用UNION,INTERSECT或EXCEPT運算符組合的所有查詢在其目標列表中必須具有相同數量的表達式。」
如何識別這些不匹配的行?
select *
from dbo.mytable t
where typename = 'Cancel'
except
Select *
from dbo.mytable t1
inner join dbo.mytable t2
on t1.id = t2.id
where t1.typename = 'Cancel'
and t2.typename = 'Add'
謝謝 - 他們都工作(現在,我爲什麼沒有想到這一點?)。您建議的第一個查詢返回3個不同的行,而第二個查詢返回10個包含重複項的行(在該ID上)。 – DeveloperM