如果我想从彼此中减去字段,
即在 A 中有 11 个字段被描述为“Faktura zakupu”,而在 B 中有 5 个字段被描述为“Faktura zakupu”。我想以 6 项“Faktura zakupu”的形式返回记录(11-5 = 6)
我尝试了 EXCEPT 操作,但它没有返回所需的结果
我需要执行什么操作?
如果我想从彼此中减去字段,
即在 A 中有 11 个字段被描述为“Faktura zakupu”,而在 B 中有 5 个字段被描述为“Faktura zakupu”。我想以 6 项“Faktura zakupu”的形式返回记录(11-5 = 6)
我尝试了 EXCEPT 操作,但它没有返回所需的结果
我需要执行什么操作?
您可以将行号添加到两个表中的每一行。然后 SQL Server 可以确定(Faktura zakupu, Original)
表 A 中的第一个与表 B 中的第一个重复,(Faktura zakupu, Original)
并在操作过程中将其删除EXCEPT
:
SELECT Name, StatusReq, ROW_NUMBER() OVER (PARTITION BY Name, StatusReq ORDER BY (SELECT NULL))
FROM a
EXCEPT
SELECT Name, StatusReq, ROW_NUMBER() OVER (PARTITION BY Name, StatusReq ORDER BY (SELECT NULL))
FROM b
它将从表 A 中返回 6 行...编号为 6 到 11。