[英]Get all records from tbl1 and matching (or the next close) records from tbl2, match is based on Client# and Date from tbl1 to tbl2
[英]Fetch all records from #tbl1 which are not in #tbl2 without use of 'NOT' keyword
Id Name
---------
1 Durgesh
2 Ashish
3 Ramesh
4 Steve
5 Pradeep
Id Name
---------
2 Ashish
5 Pradeep
结果应在不使用“NOT”关键字的情况下给出
Id Name
---------
1 Durgesh
3 Ramesh
4 Steve
使用以下代码:
SELECT Id,Name FROM #tbl1
EXCEPT
SELECT Id,Name FROM #tbl2
上面的代码使用 EXCEPT 关键字来查找结果。 此查询在 SQL Server 中进行了测试。
select A.id,A.name
from #tbl1 A
left outer join #tbl2 B on A.id = B.id
where B.id is null
您可以使用EXISTS
:
SELECT t1.*
FROM #tbl1 t1
WHERE EXISTS (SELECT 1 FROM #tbl2 t2 WHERE t2.id <> t1.id);
一些 DBMS 支持横向 JOIN :
SELECT t1.*
FROM #tbl1 t1 OUTER APPLY
( SELECT T2.*
FROM #tbl2 t2
WHERE t2.id = t.id
) t2
WHERE t2.id IS NULL;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.