我在File 1
中有380,000条记录。 File 2
我有超过一百万。我写了一个简单的查询来返回两个特定字段匹配的记录。
select *
from file1, file2
where file1.field = file2.field
问题是file1.field
在file2
重复多次,所以我得到了491,000个匹配。我只需要第一场比赛。基本上只是在file1.field
处于file2
时才查找标记。我确信有一个简单的操作员,我只是一个自学成才的初学者而且不知道。非常感谢任何帮助。
谢谢!
答案 0 :(得分:2)
您可以使用EXISTS
:
SELECT *
FROM file1
WHERE EXISTS (SELECT *
FROM file2
WHERE file2.field = file1.field)
答案 1 :(得分:0)
select *
, (select top 1 1 from file2 f2 where f2.field=f1.field) as flag
from file1 f1
在名为[flag]
的列中,您将有一个“1”或NULL答案 2 :(得分:0)
您可以使用不同的关键字
select Distinct *
from file1, file2
where file1.field = file2.field