我試圖在SQL Server 2005中執行篩選操作。從另一個sql server中出現的一個表中篩選行
示例。假設我們有兩個表格Current和Reject。
Current = 1, 2, 3, 4, 5, 1, 2
Reject = 2, 3, 4
Current \ Reject = 1, 2, 5
正如您所看到的,這兩個表共享值。我基本上只是想減去這些共享值並將它們放到一個新表中。
這是我試過的,但沒有奏效。 (A是匹配的列)。
select * from Current left join
Reject on csrp.a = rp.a
group by Current.a, Reject.a
having count(Current.a) > count(Reject.a)
請注意,元素2被過濾掉了,即使它本來不應該。
馬丁·史密斯的回答工作了這種情況!
編輯
好了,讓我們更加有點複雜。假設我和以前的情況完全相同,除了這次我需要匹配三列而不是一列嗎?
Current = (1, 2, 3), (2, 3, 4), (2, 3, 4), (4, 5, 6), (7, 8, 9), (1, 2, 3)
Reject = (2, 3, 4), (4, 5, 6), (7, 8, 9)
Current \ Reject = (1, 2, 3), (2, 3, 4)
是的,這是正確的。元素2在Current中出現兩次,但在Reject中只出現一次。所以我想讓元素2出現在我的結果中。那有意義嗎? –