使用Except并考虑重复次数

Vis*_*nce 0 sql sql-server

我有2个相同列的表:

ID    A    B    C
-------------------
Run Code Online (Sandbox Code Playgroud)

我正在使用命令Except来区分这两个表.这几乎是完美的......但看看这个案例:

表格1 :

ID    A    B    C
-------------------
1     1    1    1
1     2    2    2
1     1    1    1
Run Code Online (Sandbox Code Playgroud)

表2:

ID    A    B    C
-------------------
1     1    1    1
1     2    2    2
1     3    3    3
Run Code Online (Sandbox Code Playgroud)

除了返回0行,因为行1 1 1 1已经存在于这些表中,即使他出现在不同的数字中......这就是问题所在.

我需要

1   1   1   1
Run Code Online (Sandbox Code Playgroud)

结果......多次,因为行没有出现在第二个表中.

提前致谢

Ami*_*ngh 5

Select id,a,b,c from 
(
Select *, Row_Number() Over (Partition By id,a,b,c order by id,a,b,c) as Row
from t1
Except
Select *, Row_Number() Over (Partition By id,a,b,c order by id,a,b,c) as Tow
from t2
  ) t
Run Code Online (Sandbox Code Playgroud)

SQL小提琴演示